简单工厂模式
工厂方法模式
抽象工厂模式
比较
- 简单工厂模式最大优点在于解耦,对于上层业务不需要去理解类的实现,如果代码中出现100次new一个类,当这个类构建多了一个参数时,需要修改100次,使用工厂模式只需要修改工厂方法即可,代码耦合性降低。
- 工厂方法模式相对于简单工厂模式,符合开闭原则,因为简单工厂在工厂中添加了逻辑判断,增加类的时候需要修改工厂方法体,而工厂方法模式只需要继承工厂接口进行扩展即可,无需修改。
- 抽象工厂是对工厂方法的更进一步。缺点是当要增加一个Project的时候,要增加和修改的类比较多。
- 改进抽象工厂方法:
- 利用简单工厂实现,增加Product时候只需要在工厂类增加方法即可。
- 也可利用反射方法。
- 利用简单工厂实现,增加Product时候只需要在工厂类增加方法即可。