跳转至

工厂模式

意图

定义一个用于创建对象的接口看,让子类决定实例化哪一个类。

简单工厂

  • 单个工厂,根据类型,创建不同的抽象对象的实现;
  • 实例化对象,用工厂方法代替new操作;

工厂方法

  • 将工厂类也抽象出来,生产什么样的产品由子类来决定;

适用性

类图

工厂方法

优缺点

简单工厂

  • 优点:解耦:调用方不用负责对象的创建,只需要使用,明确各自的职责

  • 缺点:违反开闭原则,添加新的实现,会改动工厂方法的内部实现;

工厂方法