Understanding the Command design pattern
The Command pattern works with the following terms—Command
, Receiver
, Invoker
, and Client
:
- A
Command
object knows about theReceiver
objects and invokes a method of theReceiver
object. - Values for parameters of the receiver method are stored in the
Command
object - The invoker knows how to execute a command
- The client creates a
Command
object and sets its receiver
The main intentions of the Command pattern are as follows:
- Encapsulating a request as an object
- Allowing the parameterization of clients with different requests
- Allowing to save the requests in a queue (we will talk about this later in the chapter)
- Providing an object-oriented callback
The Command pattern can be used in the following multiple scenarios:
Get Python: Master the Art of Design Patterns now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.