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 }
  • 相关阅读:
    codevs 1993草地排水
    欧拉筛板子
    约数和问题 (codevs2606 && 洛谷2424)
    排列组合
    Picture poj1177
    楼房 洛谷1382 && codevs2995
    洛谷P1027 Car的旅行路线
    codevs1020 孪生蜘蛛
    HDU1269 迷宫城堡
    洛谷P1078 文化之旅
  • 原文地址:https://www.cnblogs.com/hanliping/p/11437845.html
Copyright © 2011-2022 走看看