Revision Notes/Design Patterns
Field Entry - Design Patterns
Command Pattern
Encapsulates a request as an object, letting you parameterize operations, queue them, log them, or support undo/redo.
Field Note - Real-world Analogy
“Like a TV remote. Each button on the remote (invoker) sends a specific command — TurnOn, VolumeUp, ChangeChannel. The remote doesn't know how the TV works internally; it just sends commands. You could even record a sequence of button presses (macro) and replay it. If there were an undo button, it would undo the last command.”
Field Observations - Key Topics Covered
The Command pattern turns a request or action into a standalone object. Instead of calling myLight.turnOn() directly, you create a TurnOnCommand object and execute it. This might sound like extra work, but the payoff is huge flexibility.
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