コード例 #1
0
ファイル: Form1.cs プロジェクト: pablorrp1/CommandPattern
        private void Button3_Click(object sender, EventArgs e)
        {
            RemoteControl remoteControl = new RemoteControl(3);

            Light light = new Light();
            Fan   fan   = new Fan();

            LightOnCommand  lightOnCommand  = new LightOnCommand(light);
            LightOffCommand lightOffCommand = new LightOffCommand(light);
            FanOnCommand    fanOnCommand    = new FanOnCommand(fan);
            FanOffCommand   fanOffCommand   = new FanOffCommand(fan);

            Command[] onCommands  = { lightOnCommand, fanOnCommand };
            Command[] offCommands = { lightOffCommand, fanOffCommand };

            MacroCommand onMacro  = new MacroCommand(onCommands);
            MacroCommand offMacro = new MacroCommand(offCommands);

            remoteControl.setCommand(0, onMacro, offMacro);

            salida.Text = remoteControl.toString() + " ";

            salida.Text += "\n" + remoteControl.onButtonWasPushed(0);
            salida.Text += "\n" + remoteControl.offButtonWasPushed(0);
        }
コード例 #2
0
        static void Main(string[] args)
        {
            RemoteControl remoteControl = new RemoteControl();

            Light      bedroomLight = new Light("卧室灯");
            Light      kitchenLight = new Light("厨房灯");
            CeilingFan ceilingFan   = new CeilingFan("吊扇");

            LightOnCommand  bedroomLightOnCommand  = new LightOnCommand(bedroomLight);
            LightOffCommand bedroomLightOffCommand = new LightOffCommand(bedroomLight);

            LightOffCommand kitchenLightOffCommand = new LightOffCommand(kitchenLight);
            LightOnCommand  kitchenLightOnCommand  = new LightOnCommand(kitchenLight);

            FanOnCommand  ceilingFanHighCommand   = new FanOnCommand(ceilingFan, CeilingFan.HighSpeed);
            FanOnCommand  ceilingFanMediumCommand = new FanOnCommand(ceilingFan, CeilingFan.MediumSpeed);
            FanOnCommand  ceilingFanLowCommand    = new FanOnCommand(ceilingFan, CeilingFan.LowSpeed);
            FanOffCommand ceilingFanOffCommand    = new FanOffCommand(ceilingFan);

            remoteControl.SetCommond(0, bedroomLightOnCommand, bedroomLightOffCommand);
            remoteControl.SetCommond(1, kitchenLightOnCommand, kitchenLightOffCommand);
            remoteControl.SetCommond(2, ceilingFanHighCommand, ceilingFanOffCommand);
            remoteControl.SetCommond(3, ceilingFanMediumCommand, ceilingFanOffCommand);
            remoteControl.SetCommond(4, ceilingFanLowCommand, bedroomLightOnCommand);

            remoteControl.OnButtonWasPushed(0);
            remoteControl.OffButtonWasPushed(0);
            remoteControl.OnButtonWasPushed(1);
            remoteControl.OffButtonWasPushed(1);
            remoteControl.OnButtonWasPushed(2);
            remoteControl.OnButtonWasPushed(3);
            remoteControl.UndoButtonWasPushed();
            remoteControl.OnButtonWasPushed(4);
        }
コード例 #3
0
        public static void Test()
        {
            Light           light    = new Light();
            LightOnCommand  lightOn  = new LightOnCommand(light);
            LightOffCommand lightOff = new LightOffCommand(light);
            Switch          ts       = new Switch(lightOn, lightOff);

            ts.flipUp();
            ts.flipDown();

            Fan           tFan   = new Fan();
            FanOnCommand  fanOn  = new FanOnCommand(tFan);
            FanOffCommand fanOff = new FanOffCommand(tFan);

            ts = new Switch(fanOn, fanOff);
            ts.flipUp();
            ts.flipDown();
        }
コード例 #4
0
ファイル: Form1.cs プロジェクト: pablorrp1/CommandPattern
        private void Button2_Click(object sender, EventArgs e)
        {
            RemoteControl remoteControl = new RemoteControl(6);

            Light light = new Light();
            Fan   fan   = new Fan();

            LightOnCommand  lightOnCommand  = new LightOnCommand(light);
            LightOffCommand lightOffCommand = new LightOffCommand(light);
            FanOnCommand    fanOnCommand    = new FanOnCommand(fan);
            FanOffCommand   fanOffCommand   = new FanOffCommand(fan);

            remoteControl.setCommand(0, lightOnCommand, lightOffCommand);
            remoteControl.setCommand(1, fanOnCommand, fanOffCommand);

            salida.Text = remoteControl.toString() + " ";

            salida.Text += "\n" + remoteControl.onButtonWasPushed(0);
            salida.Text += "\n" + remoteControl.offButtonWasPushed(0);
            salida.Text += "\n" + remoteControl.onButtonWasPushed(1);
            salida.Text += "\n" + remoteControl.offButtonWasPushed(1);
        }