Exemple #1
0
        static void Main(string[] args)
        {
            Message aMessage = new Message(1, "a");
            Message bMessage = new Message(2, "b");
            Message cMessage = new Message(3, "c");
            Message dMessage = new Message(4, "d");

            ICommand aCommand = new ConcreateCommand(Action.Delete, aMessage);
            ICommand bCommand = new ConcreateCommand(Action.Insert, bMessage);
            ICommand cCommand = new ConcreateCommand(Action.Delete, cMessage);
            ICommand dCommand = new ConcreateCommand(Action.Insert, dMessage);

            Invoker aInvoker = new Invoker();

            aInvoker.Do(aCommand);
            aInvoker.Do(bCommand);
            aInvoker.Do(cCommand);
            aInvoker.Do(dCommand);

            aInvoker.UnDo(1);
            aInvoker.UnDo(1);

            Console.ReadKey();
        }