Context (TrafficLight):?
Short answer: The TrafficLight class holds a reference to the current state and provides a method Change() to trigger the state's behavior. It also provides SetState() to transition to a new state. Initially, the traffic light starts in the RedState (the default state). public class TrafficLight
Example code
{
private ITrafficLightState _state;
public TrafficLight()
{
_state = new RedState(); // Initial state is Red
}
public void SetState(ITrafficLightState state) => _state = state; public void Change() => _state.Change(this);
}
Real-world example (ShopNest)
Use a GoF pattern in ShopNest only when it removes duplication or makes a change safer—explain the problem it solves in the interview.
Say this in the interview
- Define — one clear sentence (the short answer above).
- Example — relate it to a project like ShopNest or your real work.
- Trade-off — when you would not use it.
Share this Q&A
Share preview image: https://www.toolliyo.com/images/toolliyo-logo.png