抽象工厂学习笔记

三种工厂模式介绍:
https://mp.weixin.qq.com/s/rUpeUf_AOnFvJFMGgmNGTw
抽象工厂的实现:
https://github.com/ConfuseCat/DesignPattern/tree/master/src/BuildInstance/AbstractFactroy
抽象工厂:不关心零件的具体实现,而是只关心接口。我们仅使用该接口将零件组装成为产品

抽象工厂的类图

抽象工厂学习笔记_第1张图片

抽象工厂中的角色

  • AbstractProduct(抽象产品)
    负责定义AbstractFactory角色所生成的抽象零件和产品的接口
  • Client(委托者)
    仅调用AbstractFactory角色和AbstractProduct角色的接口来进行工作,对于具体的零件、产品、和工厂一无所知。
  • AbstractFactory(抽象工厂)
    负责定义用于生成抽象产品的接口
  • ConcreteProduct(具体的产品)
    负责实现AbstractProduct角色的接口
  • ConcreteFactory(具体的工厂)
    负责实现AbstractFactory角色的接口

抽象工厂的特点

  • 易于增加的具体的工厂
  • 难以增加的新的零件
    每增加一个抽象的零件(product)都必须在所有的具体的工厂中去实现

你可能感兴趣的:(设计模式学习笔记)