• 工厂方法的简单理解


    简单工厂的结构
    IProduct
    {
       公共方法
    }

    SimpleFactoryBuildProduct
    {
       static IProduct Create(类名)
       {
          switch(类名)
          {
             case Product1: return new Product1();
             case Product2: return new Product2();
          }
       }
    }

    product1 : IProduct
    {}
    product2 : IProduct
    {}

    programe
    {
       Main()
       {
          Product1 p1 = SimpleFactoryBuildProduct.Create("Product1");
          Product2 p2 = SimpleFactoryBuildProduct.Create("Product2");
       }
    }

    工厂方法解决问题的意图如下(拙见):
    工厂方法世纪上没有省略要做的工作。象所有设计模式一样,工厂方法提供一个更加抽象的视角归纳问题。最理想的应用工厂方法的场景时抽象产品具有所有产品的公共方法,在具体使用时可以用抽象产品代替所有具体产品(也就是说抽象产品具有产品的所有对外接口);这样抽象工厂提供了统一管理产品生成的场所,通过约定(要产品找工厂),为产品提供了统一生成接口。

    该模式对开闭原则的实现度:
    可以在不该变客户端原有系统的情况下新增一个产品,但是如果要使用新产品时出外。
    如果要增加一个新的产品,需要增加该产品的实现,并在工厂方法中新增一个创建项。

  • 相关阅读:
    【Python】python模块加载
    【Python】Django学习一:第一个Django程序
    【Python】Python PYQT4 GUI编程与exe打包
    XGBoost 输出特征重要性以及筛选特征
    数据挖掘博客收集
    python 多线程
    python 统计学的各种检验
    数据挖掘-逻辑回归解析
    Centos7 教程收集ing
    数据挖掘比赛优秀经验贴-收集ing
  • 原文地址:https://www.cnblogs.com/songshuqun/p/757292.html
Copyright © 2020-2023  润新知