static void Main(string[] args) { Creater[] creaters = new Creater[2]; creaters[0] = new CreaterA(); creaters[1] = new CreaterB(); foreach (var provider in creaters) { AbstractProduct product = provider.CreateProduct(); Console.WriteLine("Product is: " + product.GetType().Name); } Console.ReadLine(); }
// простое объяснение static void Main3(string[] args) { // Массив фабрик Creator[] creators = new Creator[2]; creators[0] = new ConcreteCreatorA(); creators[1] = new ConcreteCreatorN(); // Каждая фабрика создаёт свой продукт foreach (Creator creator in creators) { AbstractProduct product = creator.FactoryMethod(); Console.WriteLine("Создал {0}", product.GetType().Name); } Console.ReadKey(); }