命令模式(Command):将一个请求封装成一个对象,从而可用不同的请求对客户进行参数化,将请求排队或者记录请求日志,支持可撤销的操作。


根据上面的这单代码中可以分析的出:命令发出者,发出一个具体的命令,而具体的命令中 关联了命令接受者,告诉接受者应该怎么做,就是让接受者去执行命令。
命令模式和职责链模式的一个相同点都是 将发送者和接收者完全的解耦。发送者和接收者没有直接的联系,发送者只需要知道如何发送命令即可,不需要知道命令是否成功。
- 参数化:可以将命令对象作为参数传递给其他方法或对象,这样就可以动态地改变对象的行为。