3.抽象工厂模式

  • 一、角色
    • 抽象工厂(Abstract Factory)角色:所有具体工厂类的接口
    • 具体工厂(Concrete Factory)角色 :实现抽象工厂接口的具体工厂类
    • 抽象产品(AbstractProduct)角色 :所有被创建实例的公共接口
    • 具体产品(Concrete Product)角色 :创建的具体实例对象,具体产品由具体的工厂创建
  • 二、适用场景
    • 和工厂方法一样客户端不需要知道它所创建的对象的类
    • 需要一组对象共同完成某种功能时,并且可能存在多组对象完成不同功能的情况。(同属于同一个产品族的产品)
    • 系统结构稳定,不会频繁的增加对象。(因为一旦增加就需要修改原有代码,不符合开闭原则)
  • 三、实例
    图-1
原文地址:https://www.cnblogs.com/zhongj/p/11224358.html