Command
The Command pattern is a behavioral design pattern that turns a request into a stand-alone object. This object contains all the information about the request, including the method to call, the method arguments, and the object that owns the method. This decouples the sender from the receiver, allowing you to parameterize clients with queues, requests, and operations.
The Command pattern is used to encapsulate a request as an object, thereby allowing for parameterization of clients with different requests, queues, and operations. This pattern also supports undoable operations, logging, and transactional systems.