设计模式(1)--简单工厂模式
2016-10-31 23:59
363 查看
//ver1 class Operation { public: static double GetResult(double A, double B, char operate) { double result = 0; switch(operate) { case '+': result = A + B; break; case '-': result = A - B; break; default: break; } return result; } }; void main1() { double A = 1.1; double B = 2.2; char oper = '+'; double result = Operation::GetResult(A, B, oper); }
//ver2 class Operation { public: Operation(){} ~Operation(){} protected: double _NumberA; double _NumberB; public: void SetNumberA(double A) { _NumberA = A; } double GetNumberA() { return _NumberA; } void SetNumberB(double B) { _NumberB = B; } double GetNumberB() { return _NumberB; } virtual double GetResult() { double result = 0; return result; } }; class OperationAdd : public Operation { public: virtual double GetResult() { double result = _NumberA + _NumberB; return result; } }; class OperationSub : public Operation { public: virtual double GetResult() { double result = _NumberA - _NumberB; return result; } }; //工厂 class OperationFactory { public: static Operation CreateOperate(char operate) { Operation *oper = NULL; switch(operate) { case '+': oper = new OperationAdd(); break; case '-': oper = new OperationSub(); break; default: break; } return *oper; } }; void main2() { Operation oper; oper = OperationFactory::CreateOperate('+'); oper.SetNumberA(1.1); oper.SetNumberB(2.2); double result = oper.GetResult(); }
相关文章推荐
- 设计模式(一):简单工厂模式
- 设计模式(2)简单工厂模式
- 设计模式(Java版)-创建型模式之简单工厂模式
- 设计模式复习--简单工厂模式
- 设计模式系列-02-创建模式-简单工厂
- 设计模式系列01:简单工厂模式
- 设计模式(四)— 简单工厂模式
- 设计模式(四)简单工厂模式
- 设计模式(一)简单工厂模式
- 设计模式(C#版)--简单工厂模式
- 设计模式(1) ------- 简单工厂模式
- 设计模式(JAVA版):1.简单工厂模式
- 设计模式(2)结合代码和例子来理解简单工厂模式
- 设计模式(2)结合代码和例子来理解简单工厂模式
- 设计模式(1)——SimpleFactory简单的工厂设计模式
- 设计模式(四)简单工厂模式
- 阎宏:Java语言简单工厂创立性模式介绍
- 解析Petshop 3.0 简单工厂(Simple Factory)模式
- 简单工厂设计模式-设计模式(1)
- JAVA设计模式——简单工厂(Simple Factory)模式