设计模式之简单工厂模式

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

 如:我们定义了两个类都继承自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();
        }

 

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

posted @ 2017-08-29 10:59  MT老绵羊  阅读(122)  评论(0)    收藏  举报