问题:写一个简单的计算器。
普通的写法:
#include<iostream>
using namespace std;
int main()
{
double NumberA,NumberB;
cout<<"请输入数字A: ";
cin>>numberA;
cout<<"请输入数字B: ";
cin>>numberB;
double Result = 0;
swtich(Result)
{
。。。。
。。。。。。
。。。。。。。
}
。。。
。。。。。。
。。。。。。。。
cout<<"结果是:"<<Result<<endl;
return 0;
}
思路本身和代码设计本身没有错,但是这样的思维却是我们的程序只为满足当前的需求,程序不容易维护,不容易扩展,更不容易复用。从而达不到高质量代码的要求。
采用面向对象的分析设计编程思想,通过封装、继承、多态把程序的耦合度降低,用设计模式使得程序更加灵活、容易修改、并且易于复用。
简单工厂模式包含三个角色:
(1)工厂类Factory:工厂类是用来制造产品的。因此,在Factory中有一个用于制造产品的Create函数或者Generate函数之类的函数。这个函数能够根据“标识符”的不同生成不同的ConcreteProduct,当然这些ConcreteProduct都是继承自Ab