Revision Notes/Design Patterns
Field Entry - Design Patterns
State Pattern
Allows an object to change its behavior when its internal state changes — the object appears to change its class.
Field Note - Real-world Analogy
“A traffic light. It can be Red, Yellow, or Green. The behavior when a car arrives is completely different for each color. Instead of one TrafficLight class with big if/else blocks, each color is a State that knows how to behave and when to transition to the next.”
Field Observations - Key Topics Covered
Some objects behave very differently depending on their current state. A vending machine in the Idle state does nothing when you press a product button. But in the HasMoney state, the same button dispenses the product. Without State pattern, you end up with lots of if (currentState == "idle") else if (currentState == "hasMoney") blocks everywhere.
4 more observations inside
Sign in to read every key point in full
Ready to go deeper?
Open the complete revision note.
Sign in to read every field observation in full, including a runnable code example and side-by-side comparisons with related patterns.
Read Full NotesSee Also in Design Patterns