zoukankan      html  css  js  c++  java
  • 简单工厂模式

     1 namespace UnitTestProject1
     2 {
     3 
     4     /// <summary>
     5     /// 简单工厂模式的缺点:
     6     /// 增加具体产品时,需要修改工厂类里面生成具体产品的方法,这就违反了开闭原则。具体产品经常发生变化时,不建议使用简单工厂模式。
     7     /// 
     8     /// </summary>
     9     [TestClass]
    10     public class simpleDesign
    11     {
    12         [TestMethod]
    13         public void TestMethod1()
    14         {
    15             IPeople people = new PeopleFactory().NewInstance(1);
    16             people.SayHello();
    17         }
    18     }
    19 
    20     public interface IPeople
    21     {
    22         void SayHello();
    23     }
    24 
    25     public class ChinesePeople : IPeople
    26     {
    27         public void SayHello()
    28         {
    29             Console.WriteLine("早上好,吃了吗");
    30         }
    31     }
    32 
    33     public class EnglandPeople : IPeople
    34     {
    35         public void SayHello()
    36         {
    37             Console.WriteLine("hello?");
    38         }
    39     }
    40 
    41     public class PeopleFactory
    42     {
    43 
    44         public IPeople NewInstance(int witch)
    45         {
    46             IPeople people = null;
    47             switch (witch)
    48             {
    49                 case 1:
    50                     people = new ChinesePeople();
    51                     break;
    52                 case 2:
    53                     people = new EnglandPeople();
    54                     break;
    55             }
    56             return people;
    57         }
    58 
    59     }
    60 }
  • 相关阅读:
    输入输出重定向
    MarkdownPad 2中编辑
    (转)Maven最佳实践:划分模块
    (转)maven设置内存
    我收集的sonar参考资料
    (转)linux service理解
    制作service服务,shell脚本小例子(来自网络)
    6
    4
    5
  • 原文地址:https://www.cnblogs.com/hanliping/p/11437845.html
Copyright © 2011-2022 走看看