工厂模式之间的对比

95 阅读1分钟

简单工厂模式

定义:简单工厂模式把对象的创建逻辑抽离出来,集中在一处。只对外界暴露获取对象的接口,屏蔽掉对象创建的逻辑。

优点:没有复杂的继承逻辑,甚至不需要实例化一个类就可以提供对应的功能;

缺点:增减类型或修改创建逻辑的时候都需要修改原来的代码,引入风险;

工厂方法模式

定义:定义父类和创建对象的接口,让子类决定具体需要创建的对象和创建的逻辑。

优点:新增对象不需要修改原来的代码,只需要实现继承父类并实现创建对象接口的逻辑即可;

缺点:一个产品只能对应一个工厂类,新建一个产品也需要新建一个工厂

抽象工厂模式

定义:提供一个接口,用于创建一组相关的对象;

优点:一个工厂方法可以创建一组相关的对象;

缺点:当需要增减相关对象的时候,需要更改基类并修改所有的子类。