命令模式:将请求封装在对象中,客户不直接调用某个对象的方法,而是使用命令,将命令传递给拥有方法的对象从而让某一方法被调用。UML图例如以下:

以下是用C++描写的命令模式的一个简单样例:
执行结果:
命令被封装成类,然后由某个Invoker(这里是switch开关类)保存、删除、发出命令。命令行的长处在于:把请求一个操作的对象(Invoker)与知道怎么运行一个操作的对象(Receiver)分隔开了。我们能够在实际操作開始之前或之后进行某些灵活的操作,比方:加入、删除、反复、记录日志等。
參考:
维基百科
《大话设计模式》第23章