简单工厂模式+泛型

简单工厂模式 UML:

 

1.我们首先定义一个工厂模式的核心逻辑类:ProductFactoryClass,

2.然后抽象产品类:ProductClass1,ProductClass2

3.接口:IProduct

 没啥好说的 直接贴代码吧:

1.外部调用时:

1             SimpleFactory<Product1> product = new SimpleFactory<Product1>();
2             product.CreateShow().Product(20,200);

2.入口:

 1    /// <summary>
 2     /// 简单工厂 的实现层 
 3     /// </summary>
 4     public class SimpleFactory<T> where T : new()
 5     {
 6         private static T _instance;     
 7         public  T CreateShow()
 8         {
 9             if (_instance == null)     
10             {
11                 _instance = new T();   
12             }
13             return _instance;
14         }
15     }

3.抽象商品类:

 1     public class Product1 : IProduct
 2     {
 3         public void Product(int count, double price)
 4         {
 5             Console.WriteLine("Total:{0}", count * price);
 6             Console.ReadKey();
 7         }
 8     }
 9     public class Product2: IProduct
10     {
11         public void Product(int count, double price)
12         {
13             Console.WriteLine("Total:{0}", count * price*2);
14             Console.ReadKey();
15         }
16     }

4.接口:

1     public interface IProduct
2     {
3         public void Product(int days, double price);
4     }

 

posted @ 2019-11-17 15:50  LY_NET_526  阅读(856)  评论(0编辑  收藏  举报