public static LeiFeng CreateLeiFeng(string type)
        {
            LeiFeng result = null;

            switch (type)
            {
            case "学雷锋的大学生":
                result = new Undergraduate();
                break;

            case "社区志愿者":
                result = new Volunteer();
                break;
            }
            return(result);
        }
        static void Main(string[] args)
        {
            //TODO:简单工厂的实例化时会有重复代码,后面会用工厂方法类
            LeiFeng v1 = SimpleFactory.CreateLeiFeng("社区志愿者");
            LeiFeng v2 = SimpleFactory.CreateLeiFeng("社区志愿者");
            LeiFeng s1 = SimpleFactory.CreateLeiFeng("学雷锋的大学生");

            v1.Wash();
            v2.Sweep();
            s1.BuyRice();
            Console.WriteLine();

            //工厂方法模式实现:
            IFactory undergraduate = new UndergraduateFactory();
            LeiFeng  leiFeng1      = undergraduate.CreateLeiFeng();
            IFactory volunteer     = new VolunteerFactory();
            LeiFeng  leiFeng2      = volunteer.CreateLeiFeng();

            leiFeng1.Sweep();
            leiFeng2.BuyRice();

            Console.ReadKey();
        }