工廠方法模式 C 描述

2021-06-17 22:19:45 字數 1263 閱讀 9398

說簡單工廠模式時,我們講到,如果需要新增乙個乘法運算子應該怎麼做的問題,解決這個問題,需要用到工廠方法模式。

工廠方法模式,定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。工廠方法使乙個類的例項化延遲到其子類,結構圖如下

**實現如下

#includeusing namespace std;

class product

;class creator

;class concreteproduct:public product

現在再想想之前提出的問題,加法類,減法類,乘法類都是繼承operation(相當於product),我們需要新建乙個抽象工廠類(相當於creator),然後依次為加法類、減法類、乘法類,生成工廠類。

#includeusing namespace std;

class operation

int getnumbera()

int getnumberb()

virtual int getresult()=0; //讓子類去實現這個純虛函式,不同的運算子實現不同的操作結果

private:

int numbera;

int numberb;

};class operationadd:public operation

int getresult() };

class operationsub:public operation

int getresult() };

class operationmul:public operation

int getresult() };

class operationfactory

;class addfactory:public operationfactory

};class subfactory:public operationfactory

};class mulfactory:public operationfactory

};int main()

{ operationfactory* fac=new addfactory();

operation* operation=fac->createoperation(1,2);

cout

設計模式C 描述 工廠方法模式

工廠方法模式是類的建立模式,又叫做虛擬構造子模式或多型性工廠模式。它的用意是定義乙個建立產品物件的工廠介面,將實際建立工作推遲到子類中。簡單工廠模式的缺點 由於工廠類集中了所有產品建立邏輯的,如果不能正常工作的話會對系統造成很大的影響。如果增加新產品必須修改工廠角色的原始碼。工廠方法模式的優點 在工...

工廠方法模式 工廠方法模式

工廠方法模式是簡單工廠模式的公升級版,簡單工廠模式不符合設計模式的原則 即 單一職責,開閉原則 優點 職責明確,擴充套件方便 缺點 需要建立多個工廠 實現步驟 1.將工廠通用方法抽取介面 例如 ifactory 2.將產品抽取介面 例如 icar 3.實現各種產品 例如 baomacar,benti...

C 工廠模式 工廠方法

簡單工廠 工廠模式 簡單工廠,工廠方法,抽象工廠三種.工廠方法 力求簡潔 工廠即為生產東西的地方.在c 也有這種模式,充分利用了物件導向語言的三大特徵 多型,繼承 簡單工廠.工廠的功能就是生產,而生產些什麼呢?乙個工廠可以生產鞋子,生產衣服.它們所處的車間不一樣,所以需要兩個不同的類,這兩個類繼承工...