美文网首页
抽象工厂模式(abstract factory)

抽象工厂模式(abstract factory)

作者: 你猜_19ca | 来源:发表于2017-10-30 22:46 被阅读0次

    意图

    提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类。

    别名

    Kit

    适用性

    1. 一个系统要独立于它的产品的创建、组合和表示时。
    2. 一个系统要由多个产品系列中的一个来配置时。
    3. 当你要强调一系列相关的产品对象的设计以便进行联合使用时。
    4. 当你提供一个产品类库,而只想显示它们的接口而不是实现时。

    参与者

    1. AbstractFactory ----声明一个创建抽象产品对象的操作接口
    2. ConcreteFactory ----实现创建具体产品对象的操作
    3. AbstractProduct ----为一类产品对象声明一个接口
    4. ConcreteProduct ----定义一个将被相应的具体工程创建的产品对象。----实现AbstractProduct接口
    5. Client ----仅使用由AbstractFactory和AbstractProduct类声明的接口

    协作

    1. 通常在运行时刻创建一个ConcreteFactory类的实例。
    2. AbstractFactory将产品对象的创建延迟到它的ConcreteFactory子类。

    效果(优缺点)

    1. 它分离了具体的类
    2. 它使得易于交换产品系列
    3. 它有利于产品的一致性
    4. 难以支持新种类的产品

    实现

    1. 将工厂作为单件
    2. 创建产品
    3. 定义可扩展的工厂

    相关模式

    AbstractFactory类通常用工厂方法(Factory Method)实现,但它们也可以用Prototype实现。
    一个具体的工厂通常是一个单件。

    相关文章

      网友评论

          本文标题:抽象工厂模式(abstract factory)

          本文链接:https://www.haomeiwen.com/subject/apfvpxtx.html