Understanding the Command design pattern
The Command pattern works with the following terms—Command, Receiver, Invoker, and Client:
A
Commandobject knows about theReceiverobjects and invokes a method of theReceiverobject.Values for parameters of the receiver method are stored in the
CommandobjectThe invoker knows how to execute a command
The client creates a
Commandobject 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:
Parameterizing objects depending on the action to be performed
Adding actions to a queue and executing requests at different points
Creating a structure for high-level operations that are based on smaller operations
The following Python code implements the...