設計模式之工廠模式

2021-09-16 12:29:31 字數 1358 閱讀 4325

* a:簡單工廠模式概述

* 又叫靜態工廠方法模式,它定義乙個具體的工廠類負責建立一些類的例項

* b:優點

* 客戶端不需要在負責物件的建立,從而明確了各個類的職責

* c:缺點

* 這個靜態工廠類負責所有物件的建立,如果有新的物件增加,或者某些物件的建立方式不同,就需要不斷的修改工廠類,不利於後期的維護

* d:案例演示

* 動物抽象類:public abstract animal

* 具體狗類:public class dog extends animal {}

* 具體貓類:public class cat extends animal {}

* 開始,在測試類中每個具體的內容自己建立物件,但是,建立物件的工作如果比較麻煩,就需要有人專門做這個事情,所以就知道了乙個專門的類來建立物件。

*

public class animalfactory 

//public static dog createdog()

//public static cat createcat()

//改進

public static animal createanimal(string animalname)

else if(「cat」.equals(animale)) else

}}

* a:工廠方法模式概述

* 工廠方法模式中抽象工廠類負責定義建立物件的介面,具體物件的建立工作由繼承抽象工廠的具體類實現。

* b:優點

* 客戶端不需要在負責物件的建立,從而明確了各個類的職責,如果有新的物件增加,只需要增加乙個具體的類和具體的工廠類即可,不影響已有的**,後期維護容易,增強了系統的擴充套件性

* c:缺點

* 需要額外的編寫**,增加了工作量

* d:案例演示

動物抽象類:public abstract animal 

工廠介面:public inte***ce factory

具體狗類:public class dog extends animal {}

具體貓類:public class cat extends animal {}

開始,在測試類中每個具體的內容自己建立物件,但是,建立物件的工作如果比較麻煩,就需要有人專門做這個事情,所以就知道了乙個專門的類來建立物件。發現每次修改**太麻煩,用工廠方法改進,針對每乙個具體的實現提供乙個具體工廠。

狗工廠:public class dogfactory implements factory

}貓工廠:public class catfactory implements factory

}

設計模式 設計模式之工廠模式

工廠方法模式 建立模式 使用場景?作用?形態?場景 大量類似的實體類 要建立的實體類都是同一本質的東西 披薩 有部分類似功能 準備 烘烤 切法 實現方式不一樣 準備的材料不同 烘烤時間不同 切法不同 將繁瑣複雜的建立類的過程聚集在一起,有序清晰 把具體例項化的過程從客戶 中抽離 作用 1 將建立物件...

c 設計模式 之 工廠模式之 工廠模式

1 uml類圖 實現和依賴關係 實現 sportfactory jeepfactory hatchbackfactory 實現 ifactory 介面 sportcar jeepcar hatchbackcar 實現 icar 介面 依賴 ifactory 依賴 icar sportfactory ...

設計模式 工廠模式之簡單工廠模式

定義 由乙個工廠物件 工廠類 來指定建立某乙個產品類的例項。使用場景 客戶端只需傳入指定的引數即可,工廠類負責建立的物件較少 因為指定了傳入的引數 介面類 本想用iphone命名的,見諒 public inte ce phone實現介面類 public class huaweiphone imple...