大话设计模式 --- 简单工厂模式
2011-04-13 01:39
267 查看
说的是简单的二元数学运算的问题:加减乘除等。
书里是用非C++语言描述的,不过我还是喜欢C++多一点,下面改成了C++版。
操作基类:
class Operation:
{
public:
Operation(): m_numA (0), m_numB(0){}
virtual double GetResult(){return 0;}
void setOperationNum( double numA,double numB )
{
m_numA = numA;
m_numB = numB;
}
private:
double m_numA;
double m_numB;
};
加法类:
class OperationAdd: public Operation
{
public:
virtual double GetResult()
{
return m_numA + m_numB;
}
}
类似实现 减法类 OperationSub 乘法类 OperationMul 等
再实现运算工厂类:
class OperationFactory:
{
public:
Operation * createOperate( const string& operate )
{
Operation* oper;
switch(operate )
{
case "+": oper = new OperationAdd();break;
case "-": oper = new OperationSub();break;
... ...
}
}
}
实际应用:
Operation*oper;
OperationFactory factory;
oper = factory.createOperate("+");
oper->setOperationNum(2,3);
double result = oper->GetResult();
delete oper;
书里是用非C++语言描述的,不过我还是喜欢C++多一点,下面改成了C++版。
操作基类:
class Operation:
{
public:
Operation(): m_numA (0), m_numB(0){}
virtual double GetResult(){return 0;}
void setOperationNum( double numA,double numB )
{
m_numA = numA;
m_numB = numB;
}
private:
double m_numA;
double m_numB;
};
加法类:
class OperationAdd: public Operation
{
public:
virtual double GetResult()
{
return m_numA + m_numB;
}
}
类似实现 减法类 OperationSub 乘法类 OperationMul 等
再实现运算工厂类:
class OperationFactory:
{
public:
Operation * createOperate( const string& operate )
{
Operation* oper;
switch(operate )
{
case "+": oper = new OperationAdd();break;
case "-": oper = new OperationSub();break;
... ...
}
}
}
实际应用:
Operation*oper;
OperationFactory factory;
oper = factory.createOperate("+");
oper->setOperationNum(2,3);
double result = oper->GetResult();
delete oper;
相关文章推荐
- 大话设计模式-简单工厂模式(学习笔记与java实现)
- 《大话设计模式》学习笔记——第1章——简单工厂模式
- 大话设计模式-第01章 代码无错就是优?——简单工厂模式
- 大话设计模式之简单工厂模式、抽象工厂模式及工厂方法模式的比较
- 《大话设计模式》之 简单工厂模式和策略模式的区别和相同之处
- 大话设计模式之一【简单工厂模式】
- 大话设计模式感悟(2)——简单工厂模式(Simple Factory)
- 【大话设计模式】第一章 简单工厂模式
- 大话设计模式之简单工厂模式、抽象工厂模式及工厂方法模式的比较
- 大话设计模式-简单工厂模式(学习笔记)
- 大话设计模式一——简单工厂模式
- 大话设计模式感悟(2)——简单工厂模式(Simple Factory)
- 大话设计模式(一)简单工厂模式 策略模式 单一职责原则 开放-封闭原则 依赖倒置原则 装饰模式
- 《大话设计模式》——简单工厂模式
- 大话设计模式C++版——简单工厂模式
- 简单工厂模式C++代码示例---《大话设计模式》笔记
- 大话设计模式:简单工厂模式
- 大话设计模式 简单工厂模式
- 读《大话设计模式》笔记之一——简单工厂模式
- 大话设计模式学习--简单工厂模式