命令模式
定义:
命令模式是一个高内聚的模式。
把一个请求封装一个对象,从而是你可以用不同的请求把客户端参数化,把请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。
有三个角色:
receive:
具体业务逻辑的实现者,命令传递在这里被执行
invoker:
调用者角色,接受命令并执行命令。
commond:
需要执行的命令在这里声明
命令模式的优点:
1.类间解耦
调用者角色和接受者角色之间没有任何依赖关系,
2、可扩展性
command子类可以轻易地扩展
3、命令模式和其他模式结合
命令模式可以结合责任链模式或者模板模式
缺点:
command在命令多的情况下会显得非常臃肿。、
使用场景:
是命令的地方就可以采用命令模式、
扩展“:
命令的反悔问题:
一:结合备忘录状态
备忘录状态适合接受者为状态变化的情况,不适合时间的处理
二:增加一个命令实现时间的回滚
|
|