Пример #1
0
        static void Main(string[] args)
        {
            #region 结构实现
            Factory[] factories = new Factory[2];
            factories[0] = new ConcreteFactoryA();
            factories[1] = new ConcreteFactoryB();

            foreach (Factory factory in factories)
            {
                Product product = factory.CreateProduct();
                Console.WriteLine("Created {0}", product.GetType().Name);
            }
            #endregion

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

            #region 实践应用
            // 定义一个鸡腿工厂
            IKFCFactory kfcFactory = new ChickenFactory();
            // 生产鸡腿
            KFCFood food1 = kfcFactory.CreateFood();
            food1.Display();
            kfcFactory = new WingsFactory();
            // 生产鸡翅
            KFCFood food2 = kfcFactory.CreateFood();
            food2.Display();
            #endregion

            Console.ReadKey();
        }
Пример #2
0
        static void Main(string[] args)
        {
            // An array of creators

            Creator[] creators = new Creator[2];



            creators[0] = new ConcreteCreatorA();

            creators[1] = new ConcreteCreatorB();



            // Iterate over creators and create products

            foreach (Creator creator in creators)
            {
                Product product = creator.FactoryMethod();

                Console.WriteLine("Created {0}",

                                  product.GetType().Name);
            }



            // Wait for user

            Console.ReadKey();
        }
Пример #3
0
        static void Main(string[] args)
        {
            Creator[] creators = new Creator[2];
            creators[0] = new ConcreteCreatorA();
            creators[1] = new ConcreteCreatorB();

            foreach (Creator creator in creators)
            {
                Product product = creator.FactoryMethod();
                Console.WriteLine("Created {0}", product.GetType().Name);
            }
        }
Пример #4
0
        private static void Main(string[] args)
        {
            Product product = ProductFactory.CreateProduct();

            Console.WriteLine("Created {0}", product.GetType().Name);

            decimal money   = 100m;
            var     payment = PaymentFactory.CreatePayment("ABC");

            Console.WriteLine(payment.Payfor(money));

            Console.ReadKey();
        }
Пример #5
0
        /// <summary>
        /// Entry point into console application.
        /// </summary>
        static void Main()
        {
            // An array of creators
            Creator[] creators = new Creator[2];

            creators[0] = new ConcreteCreatorA();
            creators[1] = new ConcreteCreatorB();

            // Iterate over creators and create products
            foreach (Creator creator in creators)
            {
                Product product = creator.FactoryMethod();
                Console.WriteLine($"Created {product.GetType().Name}");
            }
        }
Пример #6
0
        static void Main1(string[] args)
        {
            //An array of creators
            Creator[] creators = new Creator[2];

            creators[0] = new ConcreteCreatorA(); //此產出產品A
            creators[1] = new ConcreteCreatorB(); //此產出產品B

            //Iterate over creators and create products
            int i = 0;

            foreach (Creator creator in creators)
            {
                Product product = creator.FactoryMethod();
                Console.WriteLine();
                Console.BackgroundColor = ConsoleColor.Blue + (i++);
                Console.WriteLine("Create {0}", product.GetType().Name);
            }

            Console.ReadKey();
        }