命令模式:对命令的封装,每一个命令都是一个操作:请求的一方发出请求要求执行一个操作;接收的一方收到请求,并执行操作。命令模式解耦了请求方和接收方。请求方只需要请求执行命令,不用关心,命令是怎样被接收,怎样被操作,以及是否被执行
本质:解耦命令请求和处理
属于行为型模式
eg:遥控器 菜单
适用场景:现实中语义中具备命令的操作,如 菜单 shell命令
请求调用和请求接受者需要解耦,使得调用者和接受者不直接交互
需要抽象出等待执行的行为,比如撤销undo 操作和恢复 redo操作
需要支持命令宏 即 命令组合操作