Name: Command Intent: - allow operations on commands such as undoing or redoing or sequencing Structure: - commands are abstracted as data (objects) - there is a interface for commands, has methods - execute - undo - redo - there has to be a history - invoker (manager) calls execute - receiver (subject) undergoes the action Notes: - beware of undo and undo - there should be a class for metacommands