static void Main() { var client = new ClientCore(); Console.WriteLine(""); Console.WriteLine("Utilizando a Factory 1:"); var factory1 = new ConcreteFactory1(); client.Run(factory1); Console.WriteLine(""); Console.WriteLine("Utilizando a Factory 2:"); var factory2 = new ConcreteFactory2(); client.Run(factory2); Console.WriteLine(""); Console.WriteLine("Utilizando a Factory 3:"); var factory3 = new ConcreteFactory3(); client.Run(factory3); }
public static void Main() { // Abstract factory #1 AbstractFactory factory1 = new ConcreteFactory1(); Client c1 = new Client(factory1); c1.Machine1(); Console.ReadKey(); // Abstract factory #2 AbstractFactory factory2 = new ConcreteFactory2(); Client c2 = new Client(factory2); c2.Machine1(); Console.ReadKey(); AbstractFactory factory3 = new ConcreteFactory3(); Client c3 = new Client(factory3); c3.Machine1(); // Wait for user input Console.ReadKey(); }
public void Factory3Test() { IAbstractFactory factory = new ConcreteFactory3(typeof(ProductA2), typeof(ProductB2)); IProductA productA = factory.CreateProductA(); IProductB productB = factory.CreateProductB(); Assert.AreEqual(typeof(ProductA2), productA.GetType()); Assert.AreEqual(typeof(ProductB2), productB.GetType()); }