public static void Main(string[] args) { PopulateCatalogs(); Recipe recipe = new Recipe(); recipe.FinalProduct = GetProduct("Café con leche"); recipe.AddStep(new Step(GetProduct("Café"), 100, GetEquipment("Cafetera"), 120)); recipe.AddStep(new Step(GetProduct("Leche"), 200, GetEquipment("Hervidor"), 60)); ConsolePrinter.PrintTicket(recipe); }
public static void Main(string[] args) { PopulateCatalogs(); Recipe recipe = new Recipe(); recipe.FinalProduct = GetProduct("Café con leche"); recipe.AddStep(new Step(GetProduct("Café"), 100, GetEquipment("Cafetera"), 120)); recipe.AddStep(new Step(GetProduct("Leche"), 200, GetEquipment("Hervidor"), 60)); //Se crea una variable del tipo IPrinter para luego asignarle // una instancia de ConsolePrinter y otra de FilePrinter. //La Operacion PrintTicket es Polimorfica. //Cada Clase del Tipo IPrinter tiene la responsabilidad de Imprimir de formas diferentes IPrinter printer; printer = new ConsolePrinter(); printer.PrintTicket(recipe); printer = new FilePrinter(); printer.PrintTicket(recipe); }