Exemplo n.º 1
0
        static void CommandPattern()
        {
            Waiter waiter = new Waiter();

            Pizza pizza1 = new Pizza(new string[1] { "cheese" });
            PizzaCommand pizzaCommand1 = new PizzaCommand(pizza1);
            waiter.AddOrder(pizzaCommand1);

            Steak steak = new Steak(Steak.SteakType.TBone, Steak.SteakPreperation.WellDone);
            SteakCommand steakCommand = new SteakCommand(steak);
            waiter.AddOrder(steakCommand);

            Wings wing1 = new Wings(Wings.WingFlavor.BBQ, 10);
            WingsCommand wingsCommand1 = new WingsCommand(wing1);
            waiter.AddOrder(wingsCommand1);

            Pizza pizza2 = new Pizza(new string[4] { "chicken", "bacon","ham","pepperoni" });
            PizzaCommand pizzaCommand2 = new PizzaCommand(pizza2);
            waiter.AddOrder(pizzaCommand2);

            Wings wing2 = new Wings(Wings.WingFlavor.HotGarlic,20);
            WingsCommand wingsCommand2 = new WingsCommand(wing2);
            waiter.AddOrder(wingsCommand2);

            Wings wing3 = new Wings(Wings.WingFlavor.SweetChili, 10);
            WingsCommand wingsCommand3 = new WingsCommand(wing3);
            waiter.AddOrder(wingsCommand3);

            waiter.ExecuteOrder();

            Console.WriteLine("**********************");
            Console.ReadLine();


        }