static void Main(string[] args) { var livingRoomLight = new Light("LivingRoom"); var kitchenLight = new Light("Kitchen"); var garage = new GarageDoor("Main"); var fan = new CeilingFan("LivingRoom"); var remote = new SimpleRemoteControl("My Remote"); remote.SetCommand(0, livingRoomLight.On, livingRoomLight.Off); remote.SetCommand(1, kitchenLight.On, kitchenLight.Off); remote.SetCommand(2, garage.Up, garage.Down); remote.SetCommand(3, fan.High, fan.Off); Console.WriteLine(remote); var light1 = new Light("light1"); var light2 = new Light("light2"); var garage1 = new GarageDoor("garage1"); var fan1 = new CeilingFan("fan1"); Action command = () => { light1.On(); light2.On(); garage1.Up(); fan1.High(); }; remote.SetCommand(4, command, () => { }); remote.OnButtonWasPressed(4); }
static void Main(string[] args) { SimpleRemoteControl remote = new SimpleRemoteControl(); Light light = new Light(); SwitchOnCommand switchOnLight = new SwitchOnCommand(light); SwitchOffCommand switchOffLight = new SwitchOffCommand(light); Door door = new Door(); SwitchOnCommand openDoor = new SwitchOnCommand(door); SwitchOffCommand closeDoor = new SwitchOffCommand(door); remote.SetOnSlot(0, switchOnLight); remote.SetOffSlot(0, switchOffLight); remote.SetOnSlot(1, openDoor); remote.SetOffSlot(1, closeDoor); remote.OnButtonWasPressed(0); remote.OnButtonWasPressed(1); remote.OffButtonWasPressed(0); remote.OffButtonWasPressed(1); remote.UndoButtonWasPushed(); Console.ReadKey(); }