與抽象工廠最搭大的區別:
工廠方法模式只有乙個抽象產品類,而抽象工廠模式有多個。工廠方法模式的具體工廠類只能建立乙個具體產品類的例項,而抽象工廠模式可以建立多個。
優點:
1、抽象工廠模式隔離了具體類的生產,使得客戶並不需要知道什麼被建立。
2、當乙個產品族中的多個物件被設計成一起工作時,它能保證客戶端始終只使用同乙個產品族中的物件。
3、增加新的具體工廠和產品族很方便,無須修改已有系統,符合「開閉原則」。
缺點:
增加新的產品等級結構很複雜,需要修改抽象工廠和所有的具體工廠類,對「開閉原則」的支援呈現傾斜性。
#include using namespace std;
class singlecore;
class singlecorea :public singlecore;
};class singlecoreb :public singlecore;
};class muiltcore;
class muiltcorea :public muiltcore;
};class muiltcoreb :public muiltcore;
};class factory;
class factorya :public factory
muiltcore* createmuiltcore();
};class factoryb :public factory
muiltcore* createmuiltcore()
};int main()
抽象工廠模式 設計模式3之抽象工廠模式
工廠方法模式中工廠只負責同類產品的生產。比如電視機工廠不應該生產汽車。然而現實生活中有很多綜合型的工廠,比如有些電視工廠不僅生產電視機,還會生產與之配套的機頂盒。那麼抽象工廠模式隨之誕生,這種模式將考慮多種型別產品的生產。我們總結下 工廠方法模式只考慮成產同一等級級的產品抽象方法模式考慮生產多等級的...
3 設計模式 抽象工廠模式
以下內容摘自 在此權作為筆記 上一章我們分析了簡單工廠模式與工廠方法模式,這一章我們來 一下抽象工廠模式。先看菜鳥教程上給的定義。主要解決 主要解決介面選擇的問題。何時使用 系統的產品有多於乙個的產品族,而系統只消費其中某一族的產品。如何解決 在乙個產品族裡面,定義多個產品。關鍵 在乙個工廠裡聚合多...
設計模式3 抽象工廠模式
抽象工廠簡單地說是工廠的工廠,抽象工廠可以建立具體工廠,由具體工廠來產生具體產品。汽車椅子類 public inte ce chair class chaira implements chair class chairb implements chair 汽車發動機類 public inte ce ...