簡單工廠模式的最大優點在於工廠類中包含了必要的邏輯判斷,根據客戶端(使用工廠類)的選擇條件動態例項化相關的類,根據客戶端的選擇條件動態例項化相關的類,對於客戶端來說,去除了與具體產品的依賴。對於動態例項化,我們可以借助智慧型指標來完成對物件的管理。
**如下:
#include #include using namespace std;
/* 簡單工廠模式
* 乙個虛基類,若干子類繼承該類,同時實現對應的虛函式實現
* 在需要生成子類的時候,向工廠中傳入對應的標誌,動態生成對應的子類,以虛基類的指標
* 來接受new出子類的位址
*///子類的共同父類
class coperator ;
coperator() :
m_dnumbera(0),m_dnumberb(0){}
double getnumbera() const
void setnumbera(double numbera)
double getnumberb() const
void setnumberb(double numbera)
protected:
double m_dnumbera;
double m_dnumberb;
};//加法子類
class cplusoperator : public coperator
};//減法子類
class csuboperator : public coperator
public:
virtual double getresult()
};typedef enum tag_opeartor opeartor_e;
//工廠類
class coperato***ctory
; ~coperato***ctory() = default;
static coperator* creatoroperator(const opeartor_e & val )
return poperator;
}};int main()
C 設計模式之簡單工廠模式
專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。它又稱為靜態工廠方法模式,屬於類的建立型模式。簡單工廠模式的uml類圖 簡單工廠模式的實質是由乙個工廠類根據傳入的引數,動態決定應該建立哪乙個產品類 這些產品類繼承自乙個父類或介面 的例項。該模式中包含的角色及其職責 工廠 cr...
c 設計模式之簡單工廠模式
設計模式的作用就是不同作用的 的區分管理,每乙個區塊的 只做好自己的事情。拿人體來舉例,大腦是所用活動的控制中樞。分別控制軀體,消化系統,免疫系統,神經系統等。那麼首先就需要將各個系統分割開來,在需要運動的時候通知軀體運動,需要消化的時候通知消化系統去消化 等等。再往細分,大腦給軀體發出乙個喝水的命...
C 設計模式之簡單工廠模式
簡單工廠模式按照設計模式型別分的話是屬於建立型模式,他是工廠模式中最簡單的一種,他不屬於gof 23中設計模式之一,但是是簡單實用的。他是有乙個工廠物件來決定建立哪一種物件的例項。類圖和呼叫方法 例子 優點 外界只要傳入類的名字或者識別符即可,不需要關心具體建立過程,只顧 消費 就可以了。各有各的指...