設計模式之工廠模式學習

2021-08-26 21:39:57 字數 1152 閱讀 3265

與簡單工廠模式相比,工廠模式為每個類增加了乙個工廠類。每個工廠類返回它所對應的類的物件指標。

簡單工廠模式的最大優點:工廠類中包含了必要的邏輯判斷。根據客戶端的選擇條件動態的例項化相關的類。沒有在客戶端實現判斷,也就去除了與客戶端的依賴。

簡單工廠模式實現計算類結構圖:

工廠模式實現計算類結構圖:

工廠模式實現**:
#includeusing namespace std;

class operation

virtual double calculate()=0;

};class addoperation:public operation

virtual double calculate()

};class suboperation:public operation

virtual double calculate()

};class factory

virtual operation *createoperation()=0; };

class addfactory:public factory

virtual operation*createoperation()

};class subfactory:public factory

virtual operation*createoperation()

};int main(int argc,char**argv)

virtual void sweep()=0;

virtual void wash()=0;

virtual void buyrice()=0; };

class student:public leifeng

virtual void sweep()

工廠模式克服了簡單工廠模式違背開放封閉原則,保持了封裝物件建立過程的優點。要更換物件時不需要做大的改動即可實現,降低了客戶程式與產品物件的耦合度。

設計模式學習之工廠模式

工廠模式,factorymethod,定義乙個工廠類的基類,基類中不再去實現具體的產品類的例項,而是將產品類的例項化工作放在其子類中進行,然後由客戶端來決定要使用那一種產品類的例項,工廠模式也要求產品類都具有相同的產品基類,這和簡單工廠模式比較相似。個人理解 工廠模式和簡單模式最大的區別是將產品類的...

設計模式之工廠模式學習

與簡單工廠模式相比,工廠模式為每個類增加了乙個工廠類。每個工廠類返回它所對應的類的物件指標。簡單工廠模式的最大優點 工廠類中包含了必要的邏輯判斷。根據客戶端的選擇條件動態的例項化相關的類。沒有在客戶端實現判斷,也就去除了與客戶端的依賴。簡單工廠模式實現計算類結構圖 工廠模式實現計算類結構圖 工廠模式...

設計模式學習之工廠模式

前言 設計模式不是某個api,是一系列經驗總結後的開發模板。工廠模式的分類 工廠方法模式 定義了乙個用於建立方法的介面,讓子類決定例項化哪乙個類。抽象方法模式 定義一系列相關或者相互依賴的介面,無需指定具體的類。是方法模式的擴充套件。工廠模式的意義 需要大量建立某類具有相同屬性的物件時,將例項化的任...