工厂方法模式(Fatory Method Pattern)

一、概念

工厂方法模式,又被称为· ”多态工厂模式“·,是对简单工厂模式的进一步抽象化,其好处是可以使系统在不修改原来代码的情况下引进新的产品,即满足开闭原则

  • 工厂方法模式抽象出工厂接口,声明具体工厂子类必须实现的方法。将对象实际创建工作交由工厂的具体实现类完成。这样进一步抽象化的好处是 每添加一个具体对象只需要添加一个对应的具体工厂对象,原有工厂对象不需要进行任何修改,很好的符合了“开放-关闭”原则。

二、参与者

抽象产品:是工厂方法模式所创建的产品的抽象

具体产品:是抽象产品的具体实现

抽象工厂:声明了工厂方法

具体工厂:具体的工厂方法,实现了抽象工厂,用来生产具体的产品

调用者:

三、代码例子

BMW320工厂 生产 BMW320

BMW520工厂 生产 BMW520

抽象产品:BMW

具体产品:BMW320  和  BMW520

抽象工厂:Factory

具体工厂:BMW320Factory  和  BMW520Factory

四、UML图

五、优缺点

(一)优点

  1. 扩展性高,如果想增加一个产品,只要扩展一个工厂类就可以。,原有工厂类不需要进行任何修改,很好的符合了“开放-关闭”原则。
  2. 工厂都具有的优点:通过工厂创建对象,不关心对象实例化的具体逻辑

(二)缺点

  • 每次增加一个产品时,都需要增加一个具体类和对应的具体工厂对象(需要写很多工厂),使得系统中类的个数成倍增加,在一定程度上增加了系统的复杂度。
posted @ 2022-12-01 21:35  ImreW  阅读(10)  评论(0编辑  收藏  举报