抽象工厂模式

123 阅读1分钟

抽象工厂模式

  • 基本思想:分而冶之、组合工厂到抽象类、每个工厂具体实现、再封装一层工厂选择

工厂模式的实现和本质

  • 所谓工厂模式就是一对多的模式,一个工厂封装,工厂可以生产各种产品 ,比如画(画正方式,圆形,三角形)每个形状是独立的类(生产线),工厂对其封装,提供一个访问接口让客户调用。

  • 实质上是通过工厂类来封装1对多的关系

抽象工厂模式

  • 实质上是多条不同产品线,如画产品和涂产品。

  • 实质上抽象工厂模式的实现也是一样的,只是多封装一层

实现步骤:

  • 先有画接口、涂接口
  • 为画和图抽象出一个public abstract class AbstractFactory 抽象类来组合两条生产线,封装以组合成一个(其实就是多封装一层抽象类来组合两个工厂)
  • 分别为封装组合的抽象类来实现具体的工厂类(这个比较特殊,因为是组合两个工厂,所以有一个要为空)
  • 创建一个工厂创造器/生成器类,通过传递形状或颜色信息来获取工厂。public class FactoryProducer
  • 最后就可以通过在工厂创造器类来画和涂

难点在于抽象类的每个工厂类具体实现,要忽略另一个工厂类。两个工厂类要保持单一职责。

参考文档:

www.runoob.com/design-patt…