工厂模式

title

工厂模式是一种创建型设计模式,它提供了一种将对象的创建与使用分离的方法。在工厂模式中,我们定义一个工厂类,用于创建具有相同接口的不同对象。通过使用工厂类来创建对象,我们可以将对象的创建逻辑从客户端代码中分离出来,从而使客户端代码更加简洁和易于维护。

工厂模式通常有三种实现方式:简单工厂模式工厂方法模式抽象工厂模式

简单工厂模式(Simple Factory Pattern) 简单工厂模式也称为静态工厂模式,它通过一个工厂类来创建不同的产品对象。客户端只需要提供一个参数,即可从工厂类中获取所需的产品对象。简单工厂模式适用于需要创建的对象较少的情况。

工厂方法模式(Factory Method Pattern) 工厂方法模式将工厂类抽象化,不再直接提供创建对象的方法,而是将创建对象的方法放在工厂类的子类中实现。每个子类都可以根据需要创建不同的产品对象,客户端只需要根据具体的情况选择相应的子类即可。工厂方法模式适用于需要创建的对象较多的情况。

抽象工厂模式(Abstract Factory Pattern) 抽象工厂模式是工厂方法模式的扩展,它定义了一个抽象的工厂接口,用于创建一组相互依赖的对象。具体的工厂类实现了抽象工厂接口,并负责创建一组具有相同主题的对象。客户端只需要选择合适的工厂类,就可以创建一组具有相互依赖关系的对象。抽象工厂模式适用于需要创建一组相关对象的情况。

下面是工厂方法模式的 UML 类图:

  +-----------------+            +-----------------+
  |    Product      |            |    Creator      |
  +-----------------+            +-----------------+
  |                 |            |                 |
  | + doSomething() |            | + factoryMethod()|
  |                 |            |                 |
  +-----------------+            +-----------------+
              △                              △
              |                              |
  +-----------------+            +-----------------+
  |  ConcreteProduct|            | ConcreteCreator |
  +-----------------+            +-----------------+
  |                 |            |                 |
  |                 |            | + factoryMethod()|
  |                 |            |                 |
  +-----------------+            +-----------------+
powered by Gitbook© 2023 编外计划 | 最后修改: 2023-11-24 03:37:01

results matching ""

    No results matching ""