码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式-3-工厂方法

时间:2016-06-15 20:37:07      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:

说明:使用抽象类的继承和方法返回值,使之可以在产品上,工厂上无限扩展

大致代码

 

 public abstract class AbsProduct
    {
        public abstract void Exc();
    }
  class ProductA1 : AbsProduct
    {
        public override void Exc()
        {
            Console.WriteLine("A1");
        }
    }
   class ProductB1 : AbsProduct
    {
        public override void Exc()
        {
            Console.WriteLine("B1");

        }
    }
   public abstract class AbsCreator
    {
        public abstract AbsProduct GetProduct(string str);
    }
  public class CreatorA : AbsCreator
    {
        public override AbsProduct GetProduct(string str)
        {
            if(str=="a")
            {
                return new ProductA1();
            }
            return null;
        }
    }
 public class CreatorB : AbsCreator
    {
        public override AbsProduct GetProduct(string str)
        {
            if(str=="b")
            {
                return new ProductB1();
            }
            return null;
        }
    }
            AbsCreator c1 = new CreatorA();
            AbsCreator c2 = new CreatorB();
            c1.GetProduct("a").Exc();
            c2.GetProduct("b").Exc();

  

设计模式-3-工厂方法

标签:

原文地址:http://www.cnblogs.com/alisande/p/5588338.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!