public void ChangeState(IDoor door, ILight light, IHeater heater, IStartButton startButton, ITimer timer) { door.CloseDoor(); light.TurnOnLight(); heater.TurnOn(); startButton.ButtonIsPressed(); timer.Start(); }
public void ChangeState(IDoor door, ILight light, IHeater heater, IStartButton startButton, ITimer timer) { door.OpenDoor(); light.TurnOnLight(); heater.TurnOff(); startButton.ButtonIsNotPressed(); timer.Stop(); }
public StateManager(IDoor door, ILight light, IHeater heater, IStartButton startButton, ITimer timer) { this.door = door; this.light = light; this.heater = heater; this.startButton = startButton; this.timer = timer; timer.TimeElapsed += TimeElapsed; }
public MicrowaveOvenHw(IDoor door, ILight light, IHeater heater, IStartButton startButton, ITimer timer) { this.door = door; var stateManager = new StateManager(door, light, heater, startButton, timer); RegisterStateManagerTriggerChanges(stateManager); var driver = new Driver(stateManager); DoorOpenChanged += driver.DoorOpenHandler; StartButtonPressed += driver.StartButtonPressedHandler; }