Example #1
0
        static void Main(string[] args)
        {
            // Клиентский код может параметризовать отправителя любыми
            // командами.
            Invoker invoker = new Invoker();

            invoker.SetOnStart(new WaiterGettingOrder("Say Hi!"));
            Cooker receiver = new Cooker();

            invoker.SetOnProcess(new WaiterHendToCooker(receiver, "Make fish", "Make meat"));

            invoker.SetOnFinish(new Taxi("Taxi is driving to client"));

            invoker.DoSomethingImportant();

            Console.ReadLine();
        }
Example #2
0
 // Сложные команды могут принимать один или несколько объектов-
 // получателей вместе с любыми данными о контексте через конструктор.
 public WaiterHendToCooker(Cooker cooker, string a, string b)
 {
     _cook = cooker;
     _a    = a;
     _b    = b;
 }