所有的 工厂模式都是封装实例化部分;
-
简单工厂模式
函数中添加case/if 根据传入的参数来进行实例化;
弊端:不满足开闭原则,即每次修改新增都是对原函数进行操作; -
工厂模式
将上面的简单工厂模式的参数取消,然后抽象出一个父类,实例化的时候直接实例化子类;
弊端:工厂过多时,新增需要维护更多的代码; -
抽象工厂模式
创建一系列产品的时候使用该模式,例如复杂的层级关系,会出现多个父级,需要创建多个父类,然后父类的父类,就实现了抽象工厂;
所有的 工厂模式都是封装实例化部分;
简单工厂模式
函数中添加case/if 根据传入的参数来进行实例化;
弊端:不满足开闭原则,即每次修改新增都是对原函数进行操作;
工厂模式
将上面的简单工厂模式的参数取消,然后抽象出一个父类,实例化的时候直接实例化子类;
弊端:工厂过多时,新增需要维护更多的代码;
抽象工厂模式
创建一系列产品的时候使用该模式,例如复杂的层级关系,会出现多个父级,需要创建多个父类,然后父类的父类,就实现了抽象工厂;