工厂方法模式和简单工厂模式的区别

版权声明:本博客为记录本人学习过程而开,内容大多从网上学习与整理所得,若侵权请告知! https://blog.csdn.net/Fly_as_tadpole/article/details/83315748

简单工厂模式

就我们的计算器例子来说,简单工厂模式的思想就是,创建一个运算类,创建一个简单工厂类。

运算类派生加法类、减法类、乘法类......

简单工厂类主要是根据传入的符号字符串,做相应的条件判断来创建相应的运算对象

当我们需要增加运算功能的时候,需要在运算类中派生相应的运算子类,在简单工厂类中增加相应的条件判断。

在简单工厂类中增加相应的条件判断】这一来就违反了设计模式的OCP原则!于是,工厂方法模式就解决了这一问题。


工厂方法模式

工厂方法模式的思想是,创建一个运算类,创建一个工厂类。

运算类派生加法类、减法类、乘法类......

工厂类派生相应的加法工厂,减法工厂、乘法工厂........

实质上就是,把简单工厂类中“根据传入的符号字符串,做相应的条件判断来创建相应的运算对象”,分担到每个派生类里面,在每个派生工厂类里面进行相应的运算对象生成操作。

这样一来,以后我们要增加一个运算功能的时候,就只需要增加运算派生类、增加派生的工厂类即可,而不需要去修改工厂基类的的内容,体现了多扩展,少修改的原则。

猜你喜欢

转载自blog.csdn.net/Fly_as_tadpole/article/details/83315748