天天看点

简单工厂模式

在学习简单工厂模式之前让我们先看看不用简单工厂模式所带来的不便把,我们以一个四则运算的计算器为例逐步的进行说明问题,首先先看看用面向程序的思想实现计算器的过程

虽然上面的代码可以实现四则运算但他确是面向程序实现的,这就意味着这种代码不具有易维护,易扩展,易复用,灵活性强的特点

所以我们现在就要将客户端代码和运算类代码分开,降低程序的耦合度,使得程序修改一处的时候不影响另一处

如下代码:

虽然这样确实好了很多,但还是存在很大不足,加入你要加入一个运算类型那就必须进入这个类,如果不小心将其中的一个运算改了,那麻烦可就大了(尤其和金钱有关的系统)

所以我们就要想办法让程序对扩展开放,对修改关闭——开放封闭原则

在这里我们就要引入多态的概念,就是子类继承父类的属性和方法,并以不同的方式实现,用父类实例化子类,并用父类调用子类中的方法和属性进行计算(自己的理解)

下面这段代码就引进多态的概念同时也是我们今天的主题——简单工厂模式,让大家深切的感受一下

所谓简单工厂就是将运算类与前台程序的交互封装起来,用户只需输入所要进行计算的符号,工厂就会自动帮助用户选择要使用哪个运算类进行计算