大话设计模式这本书看了有三分之一了,对比分析一下简单工厂模式(SimpleFactoryPattern)和工厂方法模式(FactoryMethodPattern)
虽然简单工厂模式(SimpleFactoryPattern)不是23种模式之一,但是经常用到所以这本书提到了。
以书上的例子分别看下这两种模式的UML类图,大概理解一下。
这是VS软件自动生成的类图,OperationFactory和类Operation应该是依赖关系,但是软件没有标注出来。心里要有。
简单工厂模式(SimpleFactoryPattern)类图
工厂方法模式(FactoryMethodPattern)类图
简单工厂模式最大的优点在于工厂类中包含了必要的逻辑判断,根据客户端的条件动态实例化相关的类,根据客户端来说,去除了与具体产品的依赖。
而工厂方法模式呢!看起来虽然写的代码多了。
但增加了安全性,我们在增加新的计算方法时不需要修改原有的工厂类,只需要增加新的计算方法类和新的工厂方法就可以。实在是简便易行。