Benefits: • IT Separates The Object That Invokes The Operation from the Object That Actually Performs The Operation. • It Simplifies Added New Commands, Because Existing Classes Remain Unchanged.
Applicable Scenarios: • You need to parameterize objects according to an action to perform • You create, queue, and execute requests at different times • You need to support rollback, logging, or transaction functionality...