zoukankan      html  css  js  c++  java
  • C#设计模式之简单工厂模式

    简单工厂模式解释: 

           简单工厂模式(Simple Factory Pattern)属于类的创新型模式,又叫静态工厂方法模式(Static FactoryMethod Pattern)

           是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。

    简单工厂模式的UML图: 

           简单工厂模式中包含的角色及其相应的职责如下:

           工厂角色(Creator):这是简单工厂模式的核心,由它负责创建所有的类的内部逻辑。当然工厂类必须能够被外界调用,创建所需要的产品对象。

           抽象(Product)产品角色:简单工厂模式所创建的所有对象的父类,注意,这里的父类可以是接口也可以是抽象类,它负责描述所有实例所共有的公共接口。

           具体产品(Concrete Product)角色:简单工厂所创建的具体实例对象,这些具体的产品往往都拥有共同的父类。

     简单工厂模式解决的问题是如何去实例化一个合适的对象。

           简单工厂模式的核心思想就是:有一个专门的类来负责创建实例的过程。

           具体来说,把产品看着是一系列的类的集合,这些类是由某个抽象类或者接口派生出来的一个对象树。而工厂类用来产生一个合适的对象来满足客户的要求。

    简单工厂模式的优缺点分析: 

         优点:客户端不需要修改代码。
      缺点: 当需要增加新的运算类的时候,不仅需新加运算类,还要修改工厂类,违反了开闭原则。

    在大话设计模式中的例子:

     1 public static Operation createOperate(string operate)
     2 {
     3     Operation oper = null;
     4     switch (operate)
     5     {
     6         case "+":
     7             {
     8             oper = new OperationAdd();
     9             break;
    10             }
    11         case "-":
    12             {
    13             oper = new OperationSub();
    14             break;
    15             }
    16         case "*":
    17             {
    18             oper = new OperationMul();
    19             break;
    20             }
    21         case "/":
    22             {
    23             oper = new OperationDiv();
    24             break;
    25             }
    26     }
    27     return oper;
    28 }
    29 }
  • 相关阅读:
    行转列(FOR XML PATH)
    非聚集索引的注意事项
    避免JS全局变量冲突
    如何做个好员工?
    SQL Server 执行计划中的扫描方式举例说明
    SqlServer with递归查询的使用
    Excel插件类库的设计思路
    使用log4javascript记录日志
    布局
    Image控件的简单使用示例1
  • 原文地址:https://www.cnblogs.com/hfddz/p/6598651.html
Copyright © 2011-2022 走看看