A **design pattern** that encapsulates a request as an object, allowing parameterization, queuing, logging, and undo operations. (Ch. 25)