示例#1
0
 /// <summary>
 /// Фабричный метод
 /// </summary>
 private static void FactoryMethodRun()
 {
     Patterns.Classes.FactoryMethod.Product prA = new CreatorA().Create();
     Patterns.Classes.FactoryMethod.Product prB = new CreatorB().Create();
     prA.Method1();
     prB.Method1();
 }
示例#2
0
        public void TestMethod1()
        {
            var creator1 = new CreatorA();
            var creator2 = new CreatorB();

            Product product1 = creator1.FatoryMethod();
            Product product2 = creator2.FatoryMethod();

            Assert.AreEqual(typeof(ProductA), product1.GetType());
            Assert.AreEqual(typeof(ProductB), product2.GetType());
        }
示例#3
0
        private static void FactoryMethodTest()
        {
            Console.WriteLine("---------------------------");
            Console.WriteLine("FactoryMethod");
            var firstFactory = new CreatorA();

            Console.WriteLine(firstFactory.FactoryMethod());

            var secondFactory = new CreatorB();

            Console.WriteLine(secondFactory.FactoryMethod());
            Console.WriteLine("---------------------------");
        }
示例#4
0
        static void Main(string[] args)
        {
            // An array of creators
            Creator[] creators = new Creator[2];

            creators[0] = new CreatorA();
            creators[1] = new CreatorB();

            // 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();
        }