設計模式之五工廠方法模式

2021-07-04 20:42:04 字數 1232 閱讀 6513

//與簡單工廠模式的區別:簡單工廠模式在增加新操作時,需要更改工廠函式,違反了開放與封閉原則

//而工廠方法模式支援擴充套件,在修改時只需要新增新的操作類和工廠類即可,但客戶端也需要作相應的修改

#includeusing namespace std;

//用乙個單獨的類來做這個創造例項的過程,即工廠

class operation

operation(int one,int two):number1(one),number2(two)

void setone(int one)

void settwo(int two)

int getone()

int gettwo()

virtual int getresult()

protected:

int number1;

int number2;

int result;

};//四個具體操作的子類,主要用於實現虛函式介面

class addoperation:public operation

};class suboperation:public operation

};class muloperation:public operation

};class divoperation:public operation

};//抽象工廠函式

class factory;

//四個具體工廠

class addfactory:public factory

};class subfactory:public factory

};class mulfactory:public factory

};class divfactory:public factory

};int main()

{ int number1,number2;

cout<

cin>>number1;

cout<>number2;

cout

oper->setone(number1);

oper->settwo(number2);

cout<

cout

設計模式之 五 工廠方法模式

2011年3月8日 星期二 農曆 辛卯 免年 二月初四 晴 設計模式之 五 工廠方法模式factory method 適用範圍 定義乙個用於建立物件的介面,讓子類去決定例項化哪乙個物件。例如 運算操作例項。我們可以在具體的每乙個實現工廠中去決定,例項化哪乙個操作,即加法?減法?乘法運算?工廠方法模式...

設計模式(五) 工廠方法模式

工廠方法模式,定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。工廠方法使乙個類的例項化延遲到其子類。我們依舊以之前的電腦程式來闡述工廠方法模式 不了解簡單工廠的童鞋戳這裡 1.如下 using system namespace factorymethod set public double n...

設計模式 工廠模式之工廠方法模式

工廠方法模式是指定義乙個建立物件的介面,然後實現這個介面的工廠來決定建立什麼樣的例項。工廠方法讓類的例項推遲到子類中進行。在這個模式中,只關心需要建立的是什麼工廠,不需要關心建立的細節。而且新加入的產品符合開閉原則。1 建立支付介面,裡面定義抽象的支付方法。package com.gupao.vip...