c#工厂模式

创建一个抽象类:

public abstract class Test {
   public abstract void Print();//输出信息
}

创建输出123的测试类

public class Test1: Test {
   public override void Print()
   {
     Console.WriteLine("123");
   }
}

创建输出456的测试类

public class Test2: Test {
   public override void Print()
  {
     Console.WriteLine("456");
  }
}

创建抽象工厂类

   /// <summary>
    /// 抽象工厂类
    /// </summary>
    public abstract class Creator
    {
        // 工厂方法
        public abstract TestCreateTest();
    }
创建123的工厂类

public class Test1Factory : Creator {
   public override Test TestCreateTest()
   {
     return new Test1();
   }
}

创建456的工厂类

public class Test2Factory : Creator {
   public override Test TestCreateTest()
   {
     return new Test2();
   }
}

客户端调用的时候:

Creator creator1= new Test1Factory ();
Creator creator2= new Test2Factory ();
Test t1 = Test1Factory .TestCreateTest();
t1.Print();
Test t2 = Test2Factory .TestCreateTest();
t2 .Print();
如果需求需要增加,这时候只需要在创建789的类,和相应的工厂类就可以了

posted @ 2018-10-08 14:32  行走在0和1之间  阅读(167)  评论(0编辑  收藏  举报