Command
By using the command pattern you are seperating the operation from the invoking object. And just because of that it becomes easier to change the command without chagning the caller/s. This means that you could use Command pattern when you might have the following situation
You want to parameterize objects to perform an action You want to specify, execute and queue requests at different times.
Just to quickly start you need a command object, An interface will keep it easy going in this case, thus providing you with the option of extending other classes e.