zoukankan      html  css  js  c++  java
  • 设计模式学习抽象工厂(Abstract Factory)

    意图:

    为一系列相关对象或相互依赖对象提供一个创建接口.

    示意图:

    abstract Factory

    abstract Factory

    抽象工厂示例图

    gongchang

    抽象工厂示例图

    抽象工厂示例图

    AbstractFactory为创建对象声明一个接口,真正创建对象由ConcreteFactory(FactoryA/FactoryB)实现.

    一个具体的工厂将为每个产品中定义该工厂方法以指定产品.

    适用性:

    一个系统要独立于他的产品的创建,组合和表示时

    一个系统要由多个产品系列中的一个配置时

    当你强调一系列相关的产品对象的设计以便进行联合使用时

    当你提供一个产品类库,而只想显示它们的接口而不是实现时

    代码示例:

    client:

    //具体创建何种产品有Factory决定

    void DisplayInfo(CFactory& factory)
        {
            CProduct* pProduct = factory.CreateProduct();
            if(pProduct != NULL)
            {
                pProduct->ShowProductInfo();
                delete pProduct;
                pProduct = NULL;
            }
        }

  • 相关阅读:
    对象访问方式
    GC回收的对象
    邮件工具类
    java内存区域
    RabbitMQ的安装
    Flask信号
    DBUtils数据库连接池
    Flask蓝图基本使用
    Flask中使用cookie和session
    Flask中的CBV
  • 原文地址:https://www.cnblogs.com/SkyMouse/p/2340740.html
Copyright © 2011-2022 走看看