設計模式筆記8 工廠模式

2021-10-01 05:47:31 字數 1407 閱讀 3248

通過「物件建立」模式繞開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...

設計模式筆記 抽象工廠模式

抽象工廠模式向客戶端提供乙個介面,使得客戶端在不必指定具體型別的情況下,建立多個產品族中的物件。本文採取的仍然是接著以前的那個快餐店的例子。現在,快餐店經常良好,逐漸發展壯大,為了適合不同地方人的飲食習慣,建立了兩大系列 相當於產品族 快餐,北方系列和南方系列。每個系列分別由乙個大廚掌勺。抽象工廠模...