//tbase為抽象 tconcreate為具體.
template
class cconcretefactory
}//抽象工廠
//註冊自己的工廠由使用者自己完成
//物件的釋放由建立者自己維護
template
class cbasefactory
~cbasefactory(){}
cbasefactory(const cbasefactory& obj){}
cbasefactory operator = (const cbasefactory& obj){}
public:
static cbasefactory* instance()
return pinstance;
} private:
map mconcreatefactory;
public:
template
void registe***ctory(const
std::string& _type)
//銷毀所有工廠
void destoryallfactory()
//獲取物件
tbase* create(const
std::sting& _type)
//銷毀指定物件
void destory(const
std:string& _type)
}
設計模式之抽象工廠模式學習
抽象工廠模式 提供了乙個建立一系列相關或相互依賴物件的介面,而無需指定它們的具體的類。它用於解決涉及多個產品系列的問題,包含所有產品的建立方法。abstractproducta和 abstractproductb 是兩個抽象的產品,之所以稱之為抽象就是因為它們可以有兩種不同的實現,productaa...
設計模式之工廠 抽象工廠
一 應用場景 工廠模式應用非常廣泛,意在抽象出一層專職管理物件產生以及物件間的關係,讓我們能夠專注於業務開發 1.不用去寫許許多多的new方法,替換實現類還得挨個修改。2.類中不涉及實現類,物件間只存在介面級別的耦合,客戶端呼叫注入實現類即可。由於工廠模式變種非常多,這裡只講一下常用的簡單工廠和抽象...
抽象工廠模式 設計模式3之抽象工廠模式
工廠方法模式中工廠只負責同類產品的生產。比如電視機工廠不應該生產汽車。然而現實生活中有很多綜合型的工廠,比如有些電視工廠不僅生產電視機,還會生產與之配套的機頂盒。那麼抽象工廠模式隨之誕生,這種模式將考慮多種型別產品的生產。我們總結下 工廠方法模式只考慮成產同一等級級的產品抽象方法模式考慮生產多等級的...