三种工厂模式
这三种模式许多人容易混淆,但它们三兄弟的用法有很大区别
简单工厂
简单工厂也称静态工厂(创建产品方法为静态),此工厂可以生产多种不同的产品,通过传入的参数不同,来创建产品的不同类型,相当于超级工厂,各自东西都可以生产。
缺点也很明显,如果多个产品的创建,会导致类的臃肿,不符合单一职责原则,且难维护,因为每次增加产品都必须去修改工厂类内部代码,不满足开闭原则。
优点是方便书写,可用来做少量产品的创建。
工厂方法
工厂方法通过抽象工厂接口,让子工厂来创建产品,符合了开闭原则,依赖倒置原则等,当产品需要扩展的时候,也非常方便,只需增加相关创建工厂即可。
优点很多,如扩展性,高内聚低耦合,可靠性等,唯一的缺点就是类的数目过多,导致系统的复杂度增加。
抽象工厂
与工厂方法类似,都是通过工厂接口,来控制子工厂,区别在于 工厂方法 只专注于一个产品的类型,抽象工厂关注一个系列的相关产品的组合,相当于组合套装。
和工厂方法一样优点差不多,缺点也差不多,就是类的数目过多,会导致系统的复杂度增加。
谢谢观看