通過「物件建立」模式繞開new,來避免物件建立(new)過程中導致的緊耦合(依賴具體類),從而支援物件建立的穩定。它是介面抽象之後的第一步工作。
典型模式:
定義乙個用於建立物件的介面(即工廠基類),讓子類決定例項化哪乙個類。factory method使得乙個類的例項化延遲(目的:解耦,手段:虛函式)到子類。 ——《設計模式》gof
mainform1.cpp:
class
mainform
:public form
};
使用工廠模式進行優化;
isplitte***ctory.cpp:
/* mainform2只會依賴以下的抽象類與工廠基類, 不會依賴到具體類 */
//抽象類
class
isplitter};
//工廠基類
class
splitte***ctory
};
filesplitter2.cpp:
//具體類
class
binarysplitter
:public isplitter
;class
txtsplitter
:public isplitter
;class
picturesplitter
:public isplitter
;class
videosplitter
:public isplitter
;//具體工廠
設計模式8 工廠方法模式
1 簡單工廠模式的侷限 簡單工廠模式的最大優點在於工廠類中包含了必要的邏輯判斷,根據客戶端的選擇條件動態例項化相關的類,對於客戶端來說,去除了與具體產品的依賴。但每次擴充套件功能需要修改原有類,不但對擴充套件開放了還對修改也開放了,違背了開放封閉原則。2 工廠方法模式 定義乙個用於建立物件的介面,讓...
設計模式之工廠設計模式筆記
定義 在基類中定義建立物件的乙個介面,讓子類決定例項化哪個類。工廠方法讓乙個類的的例項化延遲到子類中進行。為什麼要用工廠模式?適用場景 需要建立的物件較少。客戶端不關心物件的建立過程。簡單工廠例項public abstract class animal class catextends animal...
設計模式筆記 抽象工廠模式
抽象工廠模式向客戶端提供乙個介面,使得客戶端在不必指定具體型別的情況下,建立多個產品族中的物件。本文採取的仍然是接著以前的那個快餐店的例子。現在,快餐店經常良好,逐漸發展壯大,為了適合不同地方人的飲食習慣,建立了兩大系列 相當於產品族 快餐,北方系列和南方系列。每個系列分別由乙個大廚掌勺。抽象工廠模...