public static void Run() { SimpleRemoteControl remote = new SimpleRemoteControl(); Light light = new Light(); LightOnCommand lightOn = new LightOnCommand(light); GarageDoor door = new GarageDoor(); GarageDoorOpenCommand garageOpen = new GarageDoorOpenCommand(door); remote.SetCommand(lightOn); remote.ButtonWasPressed(); remote.SetCommand(garageOpen); remote.ButtonWasPressed(); }
static void Main(string[] args) { Console.WriteLine("Hello World!"); var remote = new SimpleRemoteControl(); var kitchenLight = new Light("kitchen light"); var livingLight = new Light("living room light"); var garageDoor = new GarageDoor(); var stereo = new Stereo(); var kitLightOnCommand = new LightOnCommand(kitchenLight); var kitLightOffCommand = new LightOffCommand(kitchenLight); var lightOnCommand = new LightOnCommand(livingLight); var lightOffCommand = new LightOffCommand(livingLight); var garageDoorOpenCommand = new GarageDoorOpenCommand(garageDoor); var garageDoorCloseCommand = new GarageDoorCloseCommand(garageDoor); var stereoOnWithCDCommand = new StereoOnWithCDCommand(stereo); var stereoOffCommand = new StereoOffCommand(stereo); var ceilingFan = new CeilingFan("Ceiling fan"); var ceilingFanHighCommand = new CeilingFanHighCommand(ceilingFan); var ceilingFanLowCommand = new CeilingFanLowCommand(ceilingFan); var ceilingFanOffCommand = new CeilingFanOffCommand(ceilingFan); remote.SetCommand(0, lightOnCommand, lightOffCommand); remote.SetCommand(1, kitLightOnCommand, kitLightOffCommand); remote.SetCommand(2, garageDoorOpenCommand, garageDoorCloseCommand); remote.SetCommand(3, stereoOnWithCDCommand, stereoOffCommand); remote.SetCommand(4, ceilingFanHighCommand, ceilingFanOffCommand); remote.SetCommand(5, ceilingFanLowCommand, ceilingFanOffCommand); remote.OnButtonPressed(0); remote.OffButtonPressed(0); remote.OnButtonPressed(1); remote.OffButtonPressed(1); remote.OnButtonPressed(2); remote.OffButtonPressed(2); remote.OnButtonPressed(3); remote.OffButtonPressed(3); remote.OnButtonPressed(4); remote.OffButtonPressed(4); remote.UndoButtonPressed(); remote.OnButtonPressed(5); remote.OffButtonPressed(5); remote.UndoButtonPressed(); }
static void Main(string[] args) { SimpleRemoteControl remote = new SimpleRemoteControl(); Light livingRoomLight = new Light("Living Romm"); Light kitchenRoomLight = new Light("kitchen Romm"); GarageDoor garageDoor = new GarageDoor(""); CeilingFan ceilingFan = new CeilingFan("Living Room"); Stereo stereo = new Stereo("Living Room"); LightOnCommand livingRoomLightOn = new LightOnCommand(livingRoomLight); LightOffCommand livingRoomLightOff = new LightOffCommand(livingRoomLight); LightOnCommand kitchenRoomLightOn = new LightOnCommand(kitchenRoomLight); LightOffCommand kitchenRoomLightOff = new LightOffCommand(kitchenRoomLight); CeilingFanHighCommand ceilingFanOn = new CeilingFanHighCommand(ceilingFan); CeilingFanOffCommand ceilingFanOff = new CeilingFanOffCommand(ceilingFan); GarageDoorOpenCommand garageDoorOpenCommand = new GarageDoorOpenCommand(garageDoor); GarageDoorCloseCommand garageDoorCloseCommand = new GarageDoorCloseCommand(garageDoor); StereoOnWithCDCommand stereoOnWithCdCommand = new StereoOnWithCDCommand(stereo); StereoOffCommand stereoOffCommand = new StereoOffCommand(stereo); remote.SetCommand(0, livingRoomLightOn, livingRoomLightOff); remote.SetCommand(1, kitchenRoomLightOn, kitchenRoomLightOff); remote.SetCommand(2, ceilingFanOn, ceilingFanOff); remote.SetCommand(3, stereoOnWithCdCommand, stereoOffCommand); Console.WriteLine(remote.ToString()); remote.OnButtonWasPressed(0); remote.OffButtonWasPressed(0); remote.OnButtonWasPressed(1); remote.OffButtonWasPressed(1); remote.OnButtonWasPressed(2); remote.OffButtonWasPressed(2); remote.OnButtonWasPressed(3); remote.OffButtonWasPressed(3); Console.ReadLine(); }
public static void Load() { RemoteControlWithUndo remoteControl = new RemoteControlWithUndo(); Light livingRoomLight = new Light("Living Room"); Light kitchenLight = new Light("Kitchen"); CeilingFan ceilingFan = new CeilingFan("Living Room"); GarageDoor garageDoor = new GarageDoor(); Stereo stereo = new Stereo("Living Room"); LightOnCommand livingRoomLightOn = new LightOnCommand(livingRoomLight); LightOffCommand livingRoomLightOff = new LightOffCommand(livingRoomLight); LightOnCommand kitchenLightOn = new LightOnCommand(kitchenLight); LightOffCommand kitchenLightOff = new LightOffCommand(kitchenLight); CeilingFanOnCommand ceilingFanOn = new CeilingFanOnCommand(ceilingFan); CeilingFanOffCommand ceilingFanOff = new CeilingFanOffCommand(ceilingFan); GarageDoorOpenCommand garageDoorOpen = new GarageDoorOpenCommand(garageDoor); GarageDoorCloseCommand garageDoorClose = new GarageDoorCloseCommand(garageDoor); StereoOnWithCDCommand stereoOnWithCD = new StereoOnWithCDCommand(stereo); StereoOffCommand stereoOff = new StereoOffCommand(stereo); remoteControl.SetCommand(0, livingRoomLightOn, livingRoomLightOff); remoteControl.SetCommand(1, kitchenLightOn, kitchenLightOff); remoteControl.SetCommand(2, ceilingFanOn, ceilingFanOff); remoteControl.SetCommand(3, stereoOnWithCD, stereoOff); remoteControl.OnButtonWasPushed(0); remoteControl.OffButtonWasPushed(0); Console.WriteLine(remoteControl); remoteControl.UndoButtonWasPushed(); remoteControl.OffButtonWasPushed(0); remoteControl.OnButtonWasPushed(0); Console.WriteLine(remoteControl); remoteControl.UndoButtonWasPushed(); Console.WriteLine(remoteControl); for (int i = 0; i < 4; i++) { remoteControl.OnButtonWasPushed(i); remoteControl.OffButtonWasPushed(i); } }
static void Main(string[] args) { var light = new Light(); var garageDoor = new GarageDoor(); var ligthCmd = new LigthOnCommand(light); var garageDoorCmd = new GarageDoorOpenCommand(garageDoor); var invoker = new RemoteControl(); invoker.SetCommand(ligthCmd); invoker.OnButtonPressed(); invoker.SetCommand(garageDoorCmd); invoker.OnButtonPressed(); Console.Read(); }
static void Main(string[] args) { SimpleRemoteControl remote = new SimpleRemoteControl(); Light light = new Light(); LightOn lightOn = new LightOn(light); LightOff lightOff = new LightOff(light); remote.SetCommand(0, lightOn, lightOff); remote.OnButtonWasPressed(0); remote.OffButtonWasPressed(0); GarageDoor door = new GarageDoor(); GarageDoorOpen doorOpen = new GarageDoorOpen(door); GarageDoorClose doorClose = new GarageDoorClose(door); remote.SetCommand(1, doorOpen, doorClose); remote.OnButtonWasPressed(1); remote.OffButtonWasPressed(1); }
public void ExecuteSimple() { SimpleRemoteControl remoteControl = new SimpleRemoteControl(); Light light = new Light(); LightOnCommand lightOn = new LightOnCommand(light); remoteControl.Slot = lightOn; remoteControl.PressButton(); GarageDoor garageDoor = new GarageDoor(); GarageDoorOpenCommand garageDoorOpen = new GarageDoorOpenCommand(garageDoor); remoteControl.Slot = garageDoorOpen; remoteControl.PressButton(); }
static void Main(string[] args) { RemoteControl remoteControl = new RemoteControl(); Ligth ligth = new Ligth(); LigthOnCommand ligthGarageDoor = new LigthOnCommand(ligth); LigthOffCommand ligthOffCommand = new LigthOffCommand(ligth); GarageDoor garageDoor = new GarageDoor(ligth); GarageDoorCommandOpen garageDoorCommandOpen = new GarageDoorCommandOpen(garageDoor); GarageDoorCommandClose garageDoorCommandClose = new GarageDoorCommandClose(garageDoor); remoteControl.SetCommand(1, garageDoorCommandOpen, garageDoorCommandClose); remoteControl.SetCommand(2, ligthGarageDoor, ligthOffCommand); remoteControl.onButtonWasPushed(1); remoteControl.onButtonWasPushed(2); Console.WriteLine("Hello World!"); }
static void Main(string[] args) { Console.WriteLine("Hello World!"); SimpleRemoteControl remote = new SimpleRemoteControl(); Light light = new Light("Bathroom"); Light light2 = new Light("Kitchen"); LightOnCommand lightOn = new LightOnCommand(light); LightOnCommand lightOn2 = new LightOnCommand(light2); LightOffCommand lightOff = new LightOffCommand(light); LightOffCommand lightOff2 = new LightOffCommand(light2); remote.setCommand(lightOn, lightOff); remote.onButtonWasPressed(); remote.setCommand(lightOn2, lightOff2); remote.onButtonWasPressed(); //turn off remote.offButtonWasPressed(); remote.setCommand(lightOn, lightOff); remote.offButtonWasPressed(); ComplexRemoteControl complexRemote = new ComplexRemoteControl(); GarageDoor door = new GarageDoor(); DoorUpCommand openDoor = new DoorUpCommand(door); DoorDownCommand closeDoor = new DoorDownCommand(door); DoorStopCommand stopDoor = new DoorStopCommand(door); complexRemote.addCommand("Open", openDoor); complexRemote.addCommand("Close", closeDoor); complexRemote.addCommand("Stop", stopDoor); complexRemote.ButtonPress("Open"); complexRemote.ButtonPress("Close"); complexRemote.ButtonPress("Open"); complexRemote.ButtonPress("Stop"); }
static void Main() { SimpleRemoteControl remote = new SimpleRemoteControl(); Light light = new Light(); LightOnCommand lightOn = new LightOnCommand(light); LightOffCommand lightOff = new LightOffCommand(light); GarageDoor garageDoor = new GarageDoor(); GarageDoorOpenCommand garageOpen = new GarageDoorOpenCommand(garageDoor); GarageDoorCloseCommand garageClose = new GarageDoorCloseCommand(garageDoor); remote.SetCommand(0, lightOn, lightOff); remote.OnButtonWasPressed(0); remote.OffButtonWasPressed(0); remote.UndoButtonWasPressed(); remote.SetCommand(1, garageOpen, garageClose); remote.OnButtonWasPressed(1); remote.OffButtonWasPressed(1); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); }
public GarageDoorClose(GarageDoor door) { this.door = door; }
static void Main(string[] args) { RemoteControl remoteControl = new RemoteControl(); Light light = new Light(); Hottub hottub = new Hottub(); GarageDoor garagedoor = new GarageDoor(); CeilingFan ceilingfan = new CeilingFan(); Stereo stereo = new Stereo(); CeilingFanOnCommand ceilingFanOn = new CeilingFanOnCommand(ceilingfan); CeilingFanOffCommand ceilingFanOff = new CeilingFanOffCommand(ceilingfan); GarageDoorUpCommand garageDoorUp = new GarageDoorUpCommand(garagedoor); GarageDoorDownCommand garageDoorDown = new GarageDoorDownCommand(garagedoor); HottubOnCommand hottubOn = new HottubOnCommand(hottub); HottubOffCommand hottubOff = new HottubOffCommand(hottub); LightOnCommand lightOn = new LightOnCommand(light); LightOffCommand lightOff = new LightOffCommand(light); LivingroomLightOnCommand livingRoomOn = new LivingroomLightOnCommand(light); LivingroomLightOffCommand livingRoomOff = new LivingroomLightOffCommand(light); StereoOnWithCDCommand stereoOn = new StereoOnWithCDCommand(stereo); StereoOffCommand stereoOff = new StereoOffCommand(stereo); remoteControl.setCommand(0, ceilingFanOn, ceilingFanOff); remoteControl.setCommand(1, garageDoorUp, garageDoorDown); remoteControl.setCommand(2, hottubOn, hottubOff); remoteControl.setCommand(3, lightOn, lightOff); remoteControl.setCommand(4, livingRoomOn, livingRoomOff); remoteControl.setCommand(5, stereoOn, stereoOff); Console.WriteLine(remoteControl.toString()); remoteControl.onButtonWasPushed(0); remoteControl.offButtonWasPushed(0); remoteControl.undoButtonWasPushed(); remoteControl.onButtonWasPushed(1); remoteControl.offButtonWasPushed(1); remoteControl.undoButtonWasPushed(); remoteControl.onButtonWasPushed(2); remoteControl.offButtonWasPushed(2); remoteControl.undoButtonWasPushed(); remoteControl.onButtonWasPushed(3); remoteControl.offButtonWasPushed(3); remoteControl.undoButtonWasPushed(); remoteControl.onButtonWasPushed(4); remoteControl.offButtonWasPushed(4); remoteControl.undoButtonWasPushed(); remoteControl.onButtonWasPushed(5); remoteControl.offButtonWasPushed(5); remoteControl.undoButtonWasPushed(); }
public GarageDoorOpen(GarageDoor door) { this.door = door; }
static void Main(string[] args) { Light light = new Light(); GarageDoor garageDoor = new GarageDoor(); LightOnCommand lightOn = new LightOnCommand(light); LightOffCommand lightOff = new LightOffCommand(light); GarageDoorOpenCommand garageDoorOpen = new GarageDoorOpenCommand(garageDoor); GarageDoorDownCommand garageDoorDown = new GarageDoorDownCommand(garageDoor); //01.简单控制器-------------------------- Console.WriteLine("\n-----01.简单控制器-----\n"); SimpleRemoteControl remote = new SimpleRemoteControl(); remote.SetCommand(lightOn); remote.ButtonWasPressed(); remote.SetCommand(garageDoorOpen); remote.ButtonWasPressed(); //02.复杂控制器-------------------------------------- Console.WriteLine("\n-----02.复杂控制器-----\n"); RemoteControl remoteControl = new RemoteControl(); remoteControl.SetCommand(0, lightOn, lightOff); remoteControl.SetCommand(1, garageDoorOpen, garageDoorDown); Console.WriteLine(remoteControl.ToString()); remoteControl.OnButtonWasPushed(0); remoteControl.OffButtonWasPushed(0); remoteControl.OnButtonWasPushed(1); remoteControl.OffButtonWasPushed(1); //03.复杂控制器,撤销功能-------------------------------------- Console.WriteLine("\n-----03.复杂控制器,撤销功能-----\n"); RemoteControlWithUndo remoteControlWithUndo = new RemoteControlWithUndo(); remoteControlWithUndo.SetCommand(0, lightOn, lightOff); remoteControlWithUndo.OnButtonWasPushed(0); remoteControlWithUndo.OffButtonWasPushed(0); Console.WriteLine(remoteControlWithUndo.ToString()); remoteControlWithUndo.UndoButtonWasPushed(); remoteControlWithUndo.OffButtonWasPushed(0); remoteControlWithUndo.OnButtonWasPushed(0); Console.WriteLine(remoteControlWithUndo.ToString()); remoteControlWithUndo.UndoButtonWasPushed(); //04.复杂撤销功能-天花板吊扇 Console.WriteLine("\n-----04.复杂撤销功能-天花板吊扇-----\n"); remoteControlWithUndo = new RemoteControlWithUndo(); CeilingFan ceilingFan = new CeilingFan("Living Room"); CeilingFanHighCommand ceilingFanHighCommand = new CeilingFanHighCommand(ceilingFan); CeilingFanMediumCommand ceilingFanMediumCommand = new CeilingFanMediumCommand(ceilingFan); CeilingFanOffCommand ceilingFanOffCommand = new CeilingFanOffCommand(ceilingFan); remoteControlWithUndo.SetCommand(0, ceilingFanHighCommand, ceilingFanOffCommand); //0号插槽的On键设置为高速,Off键设置为关闭 remoteControlWithUndo.SetCommand(1, ceilingFanMediumCommand, ceilingFanOffCommand); //1号插槽的On键设置为中速,Off键设置为关闭 remoteControlWithUndo.OnButtonWasPushed(0); //首先以高速开启吊扇 remoteControlWithUndo.OffButtonWasPushed(0); //然后关闭 Console.WriteLine(remoteControlWithUndo.ToString()); remoteControlWithUndo.UndoButtonWasPushed(); //撤销,回到中速 remoteControlWithUndo.OnButtonWasPushed(1); //开启中速 remoteControlWithUndo.OffButtonWasPushed(1); //关闭 Console.WriteLine(remoteControlWithUndo.ToString()); //撤销,回到中速 remoteControlWithUndo.UndoButtonWasPushed(); //05.Party模式 Console.WriteLine("\n-----05.Party模式-----\n"); ICommand[] partyOn = { lightOn, garageDoorOpen, ceilingFanHighCommand }; //一个数组用来记录开启命令 ICommand[] partyOff = { lightOff, garageDoorDown, ceilingFanOffCommand }; //另一个数组用来记录关闭命令 MacroCommand partyOnMacroCommand = new MacroCommand(partyOn); //创建对应的宏持有开启命令数组 MacroCommand partyOffMacroCommand = new MacroCommand(partyOff); //创建对应的宏持有关闭命令数组 remoteControlWithUndo = new RemoteControlWithUndo(); remoteControlWithUndo.SetCommand(0, partyOnMacroCommand, partyOffMacroCommand);//将宏命令指定一个按钮 Console.WriteLine(remoteControlWithUndo); Console.WriteLine("----Pushing Macro On----"); remoteControlWithUndo.OnButtonWasPushed(0); Console.WriteLine("----Pushing Macro Off----"); remoteControlWithUndo.OffButtonWasPushed(0); Console.WriteLine("----Pushing Macro Undo----"); remoteControlWithUndo.UndoButtonWasPushed(); Console.ReadKey(); }
public GarageDoorCloseCommand(GarageDoor garageDoor) { _garageDoor = garageDoor; }
public GarageDoorOpenCommand(GarageDoor garageDoor) { this.garageDoor = garageDoor; }
public GarageDoorOpenCommand(GarageDoor garageDoor) { _garageDoor = garageDoor; }
public GarageDoorCommandClose(GarageDoor garageDoor) { this.garageDoor = garageDoor; }
public GarageDoorUpCommand(GarageDoor garagedoor) { this.garagedoor = garagedoor; }
public static void Main() { RemoteControl remoteControl = new RemoteControl(); Light livingRoomLight = new Light("Living room"); Light kitchenLight = new Light("Kitchen Light"); CeilingFan ceilingFan = new CeilingFan("Living room"); GarageDoor garageDoor = new GarageDoor(); Stereo stereo = new Stereo("Living room"); TV tv = new TV("Living room"); Hottub hottub = new Hottub(); LightOnCommand livingRoomLightOn = new LightOnCommand(livingRoomLight); LightOffCommand livingRoomLightOff = new LightOffCommand(livingRoomLight); LightOnCommand kitchenLightOn = new LightOnCommand(kitchenLight); LightOffCommand kitchenLightOff = new LightOffCommand(kitchenLight); CeilingFanOnCommand ceilingFanHigh = new CeilingFanOnCommand(ceilingFan); CeilingFanOffCommand ceilingFanOff = new CeilingFanOffCommand(ceilingFan); GarageDoorOpenCommand garageDoorUp = new GarageDoorOpenCommand(garageDoor); GarageDoorCloseCommand garageDoorDown = new GarageDoorCloseCommand(garageDoor); StereoOnWithCDCommand stereoOnWithCD = new StereoOnWithCDCommand(stereo); StereoOffCommand stereoOff = new StereoOffCommand(stereo); TVOnCommand tvOn = new TVOnCommand(tv); TVOffCommand tvOff = new TVOffCommand(tv); HottubOnCommand hottubOn = new HottubOnCommand(hottub); HottubOffCommand hottubOff = new HottubOffCommand(hottub); ICommand[] partyOn = { livingRoomLightOn, stereoOnWithCD, tvOn, hottubOn }; ICommand[] partyOff = { livingRoomLightOff, stereoOff, tvOff, hottubOff }; //TODO: deal with the Macrocommand name Macrocommand partyOnMacro = new Macrocommand(partyOn); Macrocommand partyOffMacro = new Macrocommand(partyOff); remoteControl.SetCommand(0, livingRoomLightOn, livingRoomLightOff); remoteControl.SetCommand(1, kitchenLightOn, kitchenLightOff); remoteControl.SetCommand(2, ceilingFanHigh, ceilingFanOff); remoteControl.SetCommand(3, stereoOnWithCD, stereoOff); remoteControl.SetCommand(4, partyOnMacro, partyOffMacro); Console.WriteLine(remoteControl); remoteControl.OnButtonWasPressed(0); remoteControl.OffButtonWasPressed(0); remoteControl.UndoButtonWasPressed(); remoteControl.OnButtonWasPressed(1); remoteControl.OffButtonWasPressed(1); remoteControl.OnButtonWasPressed(2); remoteControl.OffButtonWasPressed(2); remoteControl.UndoButtonWasPressed(); remoteControl.OnButtonWasPressed(3); remoteControl.OffButtonWasPressed(3); remoteControl.UndoButtonWasPressed(); remoteControl.OnButtonWasPressed(4); Console.WriteLine("Party is on!"); remoteControl.OffButtonWasPressed(4); Console.WriteLine("Party is over"); Console.ReadLine(); }
public GarageDoorCloseCommand(GarageDoor garageDoor) { this.garageDoor = garageDoor; }