zoukankan      html  css  js  c++  java
  • 设计模式-工厂模式

    参考文档:Design Patterns

    简单工厂模式

    • 定义:简单工厂模式(Simple Factory Pattern):又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。

    • 模式结构:
      简单工厂模式包含如下角色:

      Factory:工厂角色
      工厂角色负责实现创建所有实例的内部逻辑

      Product:抽象产品角色
      抽象产品角色是所创建的所有对象的父类,负责描述所有实例所共有的公共接口

      ConcreteProduct:具体产品角色
      具体产品角色是创建目标,所有创建的对象都充当这个角色的某个具体类的实例。

    工厂方法模式(Factory Method Pattern)

    • 定义:工厂方法模式(Factory Method Pattern)又称为工厂模式,也叫虚拟构造器(Virtual Constructor)模式或者多态工厂(Polymorphic Factory)模式,它属于类创建型模式。在工厂方法模式中,工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的产品对象,这样做的目的是将产品类的实例化操作延迟到工厂子类中完成,即通过工厂子类来确定究竟应该实例化哪一个具体产品类。

    • 模式结构:工厂方法模式包含如下角色:

      Product:抽象产品
      ConcreteProduct:具体产品
      Factory:抽象工厂
      ConcreteFactory:具体工厂

    抽象工厂模式(Abstract Factory)

    • 定义:抽象工厂模式(Abstract Factory Pattern):提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。抽象工厂模式又称为Kit模式,属于对象创建型模式。

    • 模式结构:
      抽象工厂模式包含如下角色:

      AbstractFactory:抽象工厂
      ConcreteFactory:具体工厂
      AbstractProduct:抽象产品
      Product:具体产品

  • 相关阅读:
    test
    linux安装web服务小总结-用户和权限
    linux安装pure-ftpd和配置
    空值等
    学习laravel
    vb窗体内获取窗体内坐标颜色值
    自从我安装卸载几次OFFICE和WPS后,VB6就出现了这样的问题。
    VB动态添加WebBrowser控件,并拦截弹出窗口(不用引用任何组件)
    部件ieframe.dll或其附件之一不能正确注册:一个文件丢失或无效
    修改组策略,轻松控制游戏许可权。
  • 原文地址:https://www.cnblogs.com/o-v-o/p/10132525.html
Copyright © 2011-2022 走看看