Understanding the Command design pattern

The Command pattern works with the following terms—Command, Receiver, Invoker, and Client:

  • A Command object knows about the Receiver objects and invokes a method of the Receiver 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.