总第69篇
我们在饭店点餐时,只要想好自己要吃什么,直接告诉服务员,过一会儿就可以吃饭了,不用管厨师是如何做的,这种我们只要发送指令就能完成想要的任务的模式,在程序中称为命令模式。本篇将详细梳理设计模式中的命令模式。
1.命令模式的概念
命令模式是一个高内聚的模式,它是将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或记录请求日志,可以提供命令的撤销和恢复功能。
命令模式最大的特点是将具体的命令与对应的接收者相关联,使得调用方不用关心具体的行动执行者及如何执行,只要发送正确的命令,就能准确无误地完成任务。其通用的类图关系如下:
从上面的类图关系可以看出,命令模式中主要包含三个角色:
Receiver接收者
:任务的具体实施方,或行动的真实执行者;Invoker调度者<