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

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

            case "社区志愿者":
                result = new Volunteer();
                break;
            }
            return(result);
        }
示例#2
0
        static void Main(string[] args)
        {
            //
            //基本方式:薛磊风代表大学生学习雷锋
            LeiFeng xueleifeng = new Undergraduate();

            xueleifeng.BuyRice();
            xueleifeng.Sweep();
            xueleifeng.Wash();


            LeiFeng student1 = new Undergraduate();

            student1.BuyRice();
            LeiFeng student2 = new Undergraduate();

            student2.Sweep();
            LeiFeng student3 = new Undergraduate();

            student3.Wash();



            //简单工厂模式
            LeiFeng studentA = SimpleFactory.CreateLeiFeng("学雷锋的大学生");

            studentA.BuyRice();
            LeiFeng studentB = SimpleFactory.CreateLeiFeng("学雷锋的大学生");

            studentB.Sweep();
            LeiFeng studentC = SimpleFactory.CreateLeiFeng("学雷锋的大学生");

            studentC.Wash();


            //工厂方法模式
            IFactory factory = new UndergraduateFactory();
            LeiFeng  student = factory.CreateLeiFeng();

            student.BuyRice();
            student.Sweep();
            student.Wash();

            Console.Read();
        }