設計模式之工廠模式

2021-10-06 06:15:02 字數 749 閱讀 8457

工廠模式主要是為建立物件提供過渡介面,以便將建立物件的具體過程遮蔽隔離起來,達到提高靈活性的目的。 

工廠模式可以分為三類: 

1)簡單工廠模式(****** factory) 

2)工廠方法模式(factory method) 

3)抽象工廠模式(abstract factory) 

這三種模式從上到下逐步抽象,並且更具一般性。 

gof在《設計模式》一書中將工廠模式分為兩類:工廠方法模式(factory method)與抽象工廠模式(abstract factory)。

將簡單工廠模式(****** 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...