internal void TestCommand() { IInvoker invk = new SimpleInvoker(); invk.Command = new BaseCommand(new SimpleReceiver()); invk.ExecuteCommands(); invk.Undo(); invk.Redo(); }
static void Main() { ServiceLocator.Register <IReceiver1>(new Receiver1()); ServiceLocator.Register <IReceiver2>(new Receiver2()); var receiver1 = ServiceLocator.GetService <IReceiver1>(); var cmd1 = new ConcreteCommand1(receiver1); var invoker1 = new SimpleInvoker(cmd1); invoker1.Consume(); var invoker2 = new ComplexInvoker(); invoker2.AddCommand(new ConcreteCommand1(receiver1)); invoker2.AddCommand(new ConcreteCommand2()); invoker2.Play(); Console.ReadKey(); }