工厂方法模式

2025年8月18日 | 阅读 3 分钟

工厂模式或者工厂方法模式指出,定义一个用于创建对象的接口或抽象类,但让子类决定实例化哪个类。换句话说,子类负责创建类的实例。

工厂方法模式也被称为虚拟构造器。

工厂设计模式的优点

  • 工厂方法模式允许子类选择要创建的对象类型。
  • 它通过消除将特定于应用程序的类绑定到代码中的需要来促进松耦合。这意味着代码仅与结果接口或抽象类交互,因此它可以与任何实现该接口或扩展该抽象类的类一起使用。

工厂设计模式的用法

  • 当一个类不知道需要创建哪些子类时
  • 当一个类希望其子类指定要创建的对象时。
  • 当父类选择其子类的对象创建时。

工厂方法模式的 UML 图

  • 我们将创建一个 Plan 抽象类和扩展 Plan 抽象类的具体类。 工厂类 GetPlanFactory 被定义为下一步。
  • GenerateBill 类将使用 GetPlanFactory 来获取 Plan 对象。 它会将信息(DOMESTICPLAN / COMMERCIALPLAN / INSTITUTIONALPLAN)传递给 GetPalnFactory 以获取它需要的对象类型。
factory pattern

计算电费:工厂方法的一个真实示例

步骤 1:创建一个 Plan 抽象类。

步骤 2:创建扩展 Plan 抽象类的具体类。

步骤 3:创建一个 GetPlanFactory,根据给定的信息生成具体类的对象。

步骤 4:通过使用 GetPlanFactory 获取具体类的对象来生成账单,方法是传递一个信息,例如计划类型 DOMESTICPLAN 或 COMMERCIALPLAN 或 INSTITUTIONALPLAN。



输出

factory method desing pattern output
下一个主题抽象工厂模式