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 Learning Python Design Patterns - Second Edition 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.