抽象工廠模式是工廠模式的進一步抽象
他們的區別如下:
工廠方法模式:
乙個抽象產品類,可以派生出多個具體產品類。
乙個抽象工廠類,可以派生出多個具體工廠類。
每個具體工廠類只能建立乙個具體產品類的例項。
抽象工廠模式:
多個抽象產品類,每個抽象產品類可以派生出多個具體產品類。
乙個抽象工廠類,可以派生出多個具體工廠類。
每個具體工廠類可以建立多個具體產品類的例項,也就是建立的是乙個產品線下的多個產品。
比如說工廠可以生產滑鼠和鍵盤。那麼抽象工廠的實現類(它的某個具體子類)的物件都可以生產滑鼠和鍵盤,但可能工廠a生產的是羅技的鍵盤和滑鼠,工廠
b是微軟的。
例子:定義乙個工廠抽象類
public inte***ce abtractfactory
兩個食品的抽象類
public inte***ce fooda
工廠實現類
public class createfactoryb implements abtractfactory
@override
public foodb factoryb()
}public class createfactorya implements abtractfactory
@override
public foodb factoryb()
產品實現類:有四個實現類,舉例乙個
public class createaa implements fooda
}測試類
public class test }
執行結果為
這個是質量為a的fooda
這個是質量為a的foodb
這個是質量為b的fooda
這個是質量為b的foodb
抽象工廠類(二)
本次例項繼續上次 工廠方法 中的果園農場。這次,該農場公司引進塑料大棚技術,在大棚裡種植熱帶 tropical 水果和蔬菜。水果介面 author 88250 version 1.0.0,2007 8 13 see cn.edu.ynu.sei.factorymethod.fruit public ...
抽象工廠模式 抽象工廠模式
抽象工廠模式其實是圍繞了乙個超級工廠建立其他的工廠 可參考工廠模式 這個超級工廠又可以想像成是其他工廠的工廠,這種設計模式是一種建立型模式。在抽象工廠模式中,介面是負責建立乙個相關物件的工廠,不需要顯式指出其類。每個生成的工廠都能按照工廠模式提供物件。意圖提供乙個建立一系列相關或相互依賴物件的介面,...
工廠模式 抽象工廠
在看抽象工廠前,我們需要引入兩個概念 1 產品等級結構 2 產品族 我們現在有這樣兩個產品型別 汽車 car 自行車 bike 有兩家公司 寶馬 bmw 奧迪 audi 每乙個廠家都能夠生產這兩種型別的產品 bmw介面 bmwcar,bmwbike audi介面 audicar,audibike 在...