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;
            }
        }

  • 相关阅读:
    加分二叉树
    飞扬的小鸟
    洛谷P2066 机器分配
    解方程
    洛谷P1781 宇宙总统
    洛谷P1311 选择客栈
    洛谷P1081 开车旅行70分
    CSS清除浮动
    常见的内联元素与块状元素
    标签的权值问题(优先级)
  • 原文地址:https://www.cnblogs.com/SkyMouse/p/2340740.html
Copyright © 2011-2022 走看看