Exemple #1
0
        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);
        }