示例#1
0
        static void Main(string[] args)
        {
            // Control the light
            var remote   = new RemoteController();      // Invoker
            var light    = new Light();                 // Receiver
            var lightOn  = new LightOnCommand(light);   // Command
            var lightOff = new LightOffCommand(light);  // Command

            remote.SetCommand(lightOn);
            remote.ActivateCommand();
            remote.SetCommand(lightOff);
            remote.ActivateCommand();

            // Control the garage door
            var garageDoor = new GarageDoor();                      // Receiver
            var doorUp     = new GarageDoorUpCommand(garageDoor);   // Command
            var doorDown   = new GarageDoorDownCommand(garageDoor); // Command

            // Invoker ---> Command ----> Receiver
            remote.SetCommand(doorUp);
            remote.ActivateCommand();
            remote.SetCommand(doorDown);
            remote.ActivateCommand();

            Console.ReadKey();
        }