Command Pattern Précis: command pattern allows the behaviour of certain operations to be encapsulated within reusable logic. Fitness for Future? Yes What changes? The implementation of the commands; the actions performed when you call command.execute(); What stays the same? The interface and the usage. In general, the class definition is something like: class Command { void execute(); } Specific implementations pass in all the information needed in the constructor.