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

设计模式之简单工厂模式

时间:2017-08-29 12:38:42      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:ret   int   instance   type   actor   方法   not   key   简单工厂模式   

工厂模式就是定义一个创建对象的接口,让子类决定实例化哪一个类;

 如:我们定义了两个类都继承自BaseCalss

    public class BaseCalss
    {
        public int i;
        public void Say()
        {
            Console.WriteLine(i.ToString());
        }
    }
    public class DoNothing : BaseCalss
    {
        public DoNothing()
        {
            i = 1;
        }
    }
    public class DoNothing2 : BaseCalss
    {
        public DoNothing2()
        {
            i = 2;
        }
    }

 现在我希望可以提供一个方法可以帮助我们去实例化这两个类,于是:

   public class MyFactory
    {
        public T Creat<T>()
        {
            Type type = typeof(T);
            return (T)Activator.CreateInstance(type);
        }
    }

 这下,我就可以选择性的去实例化我们需要的类了

    static void Main(string[] args)
        {
            MyFactory fac = new MyFactory();
            DoNothing doNothing = fac.Creat<DoNothing>();
            DoNothing2 doNothing2 = fac.Creat<DoNothing2>();
            doNothing.Say();
            doNothing2.Say();
            Console.ReadKey();
        }

 

这个只是简单工厂很简单的一个思路而已

设计模式之简单工厂模式

标签:ret   int   instance   type   actor   方法   not   key   简单工厂模式   

原文地址:http://www.cnblogs.com/mayuzx/p/7447233.html

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