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