The GoF design patterns book defines Command design pattern as follows - 'Encapsulate a request as an object, thereby letting you parameterize clients with different requests, queue or log requests, and support undoable operations.'