Exemplo n.º 1
0
        static void Main(string[] args)
        {
            var reciever = new Reciever(); // class that does the actual work


            // object which encapsulates worker object
            var dowork         = new DoWorkCommand(reciever);
            var doOtherWork    = new DoOtherWorkCommand(reciever);
            var doYetOtherWork = new DoYetOtherWorkCommand(reciever);


            var invoker = new Invoker();
            // dynamically update the receiver class
            var cmdList = new List <string>()
            {
                "do work", "do yet other work", "do other work"
            };

            foreach (var cmd in cmdList)
            {
                switch (cmd)
                {
                case "do work":
                    invoker.Command = dowork;
                    break;

                case "do yet other work":
                    invoker.Command = doYetOtherWork;
                    break;

                case "do other work":
                default:
                    invoker.Command = doOtherWork;
                    break;
                }

                invoker.ExecuteCommand();
            }
        }
Exemplo n.º 2
0
 {// class that implements the Execute operation by invoking operation(s) on the Receiver
     public DoWorkCommand(Reciever reciever) :
         base(reciever)
     {
     }
Exemplo n.º 3
0
 public CommandBase(Reciever reciever)
 {
     _reciever = reciever;
 }
Exemplo n.º 4
0
 public DoYetOtherWorkCommand(Reciever reciever) :
     base(reciever)
 {
 }