//與簡單工廠模式的區別:簡單工廠模式在增加新操作時,需要更改工廠函式,違反了開放與封閉原則
//而工廠方法模式支援擴充套件,在修改時只需要新增新的操作類和工廠類即可,但客戶端也需要作相應的修改
#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...