zoukankan      html  css  js  c++  java
  • [设计模式]工厂方法模式

    一、简介     

    1、名称:工厂方法模式又叫做虚拟构造子(Virtual Constructor)模式或者多态性工厂模式

    2、功能:定义一个用于创建对象的接口,让子类的决定实例化哪一个类。Factory Method使一个类实例化延迟到子类。

    3、实现方式:核心工厂不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。

    4、意义:工厂方法模式是简单工厂模式的衍生,解决了许多简单工厂模式的问题。首先完全实现“开-闭原则”,实现了可扩展。其次更复杂的层次结构,可以应用于产品结果复杂的场合。

    三、参与者

    1、抽象工厂(Creator)类角色:工厂方法模式的核心,与应用程序无关。任何在模式中创建的对象的工厂类必须实现这个接口。

    2、具体工厂(ConcreteCretor)类角色:实现抽象工厂的具体类工厂,包含于应用程序密切相关的逻辑,并且受到应用程序调用以创建产品对象。

    3、抽象产品(Product):工厂方法模式创建的对象的超类型,也就是产品对象的共同父类或接口。

    4、具体产品(ConcreteProduct)角色:实现抽象产品角色定义的接口。某具体产品有专门的具体工厂创建,它们之间往往一一对应。

    参考:百度百科http://baike.baidu.com/view/1580263.htm

  • 相关阅读:
    动态添加placeholder
    texworks编码问题
    c++ 小知识(不定期更新)
    写一个简单的 Makefile
    ubuntu 忘了密码
    遍历各种组合
    分形
    C++ 尾递归优化
    基于 QQBot 实现简易 QQ 机器人
    遇到问题:在函数中开辟动态内存(已解决)
  • 原文地址:https://www.cnblogs.com/dirt2/p/factory_mehtod.html
Copyright © 2011-2022 走看看