第一章 簡單工廠模式

2022-03-11 19:17:44 字數 993 閱讀 4491

一 包含的角色

簡單工廠模式包含三個角色:

二 優勢

實現了松耦合,當需要增加一種新產品(在大話設計模式中,例子是運算operation),只需要做兩點改動:

三 c++**實現

開發環境 visual studio community 2017

#include "pch.h"

#include #include using namespace std;

//抽象的產品類

class operation

double getnumberb() const

void setnumbera(const double a)

void setnumberb(const double b)

virtual double getresult()

protected:

double numbera;

double numberb;

};//下面是四種具體產品類

class operationadd : public operation

};class operationsub : public operation

};class operationmul : public operation

};class operationdiv : public operation

return result;

}};//到底要例項化誰,將來會不會增加例項化操作,比如增加開根運算

//應該考慮用乙個單獨的類來做這個創造例項的過程,這就是工廠

class operationfactory

return oper;

}};//客戶端**

第一章 簡單工廠模式

物件導向程式設計永遠在考慮 解藕和復用。設計模式是前輩總結的結果,這些模式都是基於問題本身的抽象,活學活用才是王道。簡單工廠模式具有物件導向程式設計的基本優點 封裝 繼承和多型。created by hero on 16 3 29.public abstract class operation pu...

大話設計模式 第一章 簡單工廠模式

實現乙個計算器控制台程式 活字印刷 第一,要改,只需改要改之字,此為可維護 第二,這些字用完依然可用,此為可復用 第三,若要加字只需另刻再加入即可,此為可擴充套件 第四,可橫排可豎排,此為靈活性好 複製vs復用 將計算和顯示分開 即將業務邏輯和介面邏輯分開 public class operatio...

第一章 Cach 設計模式 簡單工廠模式

工廠類運算類 加法類減法類 乘法類除法類 指數類思考 可能會寫成這樣 w class pha.yx.design.program getresult classmethod getresult 缺點 if表示式每次都需要判斷,等於計算機做了三次無用功。如果除法,輸入了0,除法會報錯。輸入第乙個數字 ...