抽象工厂模式

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

抽象工厂模式表示 定义一个接口或抽象类来创建一组相关的(或依赖的)对象,而无需指定它们的具体子类。这意味着抽象工厂让一个类返回一组类的工厂。因此,抽象工厂模式比工厂模式高出一个层次。

抽象工厂模式也被称为 工具箱(Kit)。

抽象工厂模式的优点

  • 抽象工厂模式将客户端代码与具体的(实现)类隔离。
  • 它简化了对象族的交换。
  • 它提高了对象之间的一致性。

抽象工厂模式的用法

  • 当系统需要独立于其对象的创建、组合和表示方式时。
  • 当需要一起使用相关对象族时,则需要强制执行此约束。
  • 当您想要提供一个对象库,该库不显示实现而仅显示接口时。
  • 当系统需要配置多个对象族中的一个时。

抽象工厂模式的 UML 图

  • 我们将创建一个 Bank 接口 和一个 Loan 抽象类 以及它们的子类。
  • 然后,我们将创建 AbstractFactory 类作为下一步。
  • 之后,我们将创建具体类 BankFactoryLoanFactory,它们将扩展 AbstractFactory 类
  • 之后,AbstractFactoryPatternExample 类使用 FactoryCreator 来获取 AbstractFactory 类的对象。
  • 仔细查看下面给出的图
abstract factory pattern

抽象工厂模式示例

在这里,我们正在计算不同银行(如 HDFC、ICICI、SBI 等)的贷款支付。

步骤 1: 创建一个 Bank 接口

步骤 2: 创建实现 Bank 接口的具体类。

步骤 3: 创建 Loan 抽象类。

步骤 4: 创建扩展 Loan 抽象类的具体类。

步骤 5: 创建一个抽象类(即 AbstractFactory)来获取 Bank 和 Loan 对象的工厂。

步骤 6: 创建继承 AbstractFactory 类的工厂类,以根据给定的信息生成具体类的对象。

步骤 7: 创建一个 FactoryCreator 类,通过传递 Bank 或 Loan 等信息来获取工厂。

步骤 8: 使用 FactoryCreator 获取 AbstractFactory,以便通过传递类型等信息来获取具体类的工厂。



输出

abstract factory pattern output