抽象工廠例項
抽象工廠模式用於產品族的構建,是所有形態的工廠模式中最為抽象和最具一般性的模式
抽象工廠模式是一種為訪問類提供乙個建立一組或相互依賴物件的介面,且訪問類無須指定所要產品的具體類就能得到
抽象工廠模式是工廠方法模式的公升級版本,工廠方法模式只生產乙個等級的產品,而抽象工廠模式可以生產多個等級的產品
實現原理
抽象工廠模式是針對產品族的,而不是像工廠方法模式針對乙個產品等級
角色組成
和工廠方法模式相同,抽象工廠模式同樣擁有四種角色
抽象工廠模式uml類圖
抽象工廠例項
#include
using namespace std;
//抽象矩形
class rect
;//矩形a
class recta : public rect };
//矩形b
class rectb : public rect };
//抽象圓形
class circle
;//圓形a
class circlea : public circle };
//圓形b
class circleb : public circle };
//抽象工廠
class abstractfactory
;//具體工廠a
class factorya : public abstractfactory
virtual circlea*
creatcirclefactory()
};//具體工廠b
class factoryb : public abstractfactory
virtual circleb*
creatcirclefactory()
};intmain()
建立型模式 工廠模式and抽象工廠模式
意圖 定義乙個建立物件的介面,讓其子類自己決定例項化哪乙個工廠類,工廠模式使其建立過程延遲到子類進行。主要解決 主要解決介面選擇的問題。何時使用 我們明確地計畫不同條件下建立不同例項時。如何解決 讓其子類實現工廠介面,返回的也是乙個抽象的產品。關鍵 建立過程在其子類執行。步驟 建立乙個介面 形狀sh...
建立型模式(抽象工廠模式)
目錄總結 當系統所提供的工廠所需生產的具體產品並不是乙個簡單的物件,而是多個位於不同產品等級結構中屬於不同型別的具體產品時需要使用抽象工廠模式。抽象工廠模式是所有形式的工廠模式中最為抽象和最具一般性的一種形態。抽象工廠模式與工廠方法模式最大的區別在於,工廠方法模式針對的是乙個產品等級結構,而抽象工廠...
建立型模式 抽象工廠模式
抽象工廠 abstractfactory 模式的定義 是一種為訪問類提供乙個建立一組相關或相互依賴物件的介面,且訪問類無須指定所要產品的具體類就能得到同族的不同等級的產品的模式結構。抽象工廠模式是工廠方法模式的公升級版本,工廠方法模式只生產乙個等級的產品,而抽象工廠模式可生產多個等級的產品。產品族 ...