示例#1
0
        static void Main(string[] args)
        {
            //Abstract factory #1
            AbstractFactory factory1 = new AbstractFactory1();
            Client          client1  = new Client(factory1);

            client1.Run();

            //Abstract factory #2
            AbstractFactory factory2 = new AbstractFactory2();
            Client          client2  = new Client(factory2);

            client2.Run();


            //Example
            IKFCFactory cheap = new CheapPackageFactory();

            cheap.Operation();

            IKFCFactory luxury = new LuxuryPackageFactory();

            luxury.Operation();

            Console.ReadKey();
        }
示例#2
0
        private static void Main(string[] args)
        {
            #region 结构实现
            // Abstract factory #1
            Structural.AbstractFactory factory1 = new ConcreteFactory1();
            Client client1 = new Client(factory1);
            client1.Run();

            // Abstract factory #2
            Structural.AbstractFactory factory2 = new ConcreteFactory2();
            Client client2 = new Client(factory2);
            client2.Run();
            #endregion

            Console.WriteLine("******************************");

            #region 实践应用
            //实惠套餐
            IKFCFactory factory = new CheapPackageFactory();
            KFCFood     food    = factory.CreateFood();
            KFCDrink    drink   = factory.CreateDrink();
            Console.WriteLine("实惠套餐:");
            food.Display();
            drink.Display();

            //豪华套餐
            factory = new LuxuryPackageFactory();
            food    = factory.CreateFood();
            drink   = factory.CreateDrink();
            Console.WriteLine("豪华套餐:");
            food.Display();
            drink.Display();
            #endregion

            Console.ReadKey();
        }