黑马程序员技术交流社区
标题:
命令模式
[打印本页]
作者:
zlb820
时间:
2016-6-19 22:58
标题:
命令模式
命令模式
定义:
命令模式是一个高内聚的模式。
把一个请求封装一个对象,从而是你可以用不同的请求把客户端参数化,把请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。
有三个角色:
receive:
具体业务逻辑的实现者,命令传递在这里被执行
invoker:
调用者角色,接受命令并执行命令。
commond:
需要执行的命令在这里声明
命令模式的优点
:
1.类间解耦
调用者角色和接受者角色之间没有任何依赖关系,
2、可扩展性
command子类可以轻易地扩展
3、命令模式和其他模式结合
命令模式可以结合责任链模式或者模板模式
缺点:
command在命令多的情况下会显得非常臃肿。、
使用场景:
是命令的地方就可以采用命令模式、
扩展“:
命令的反悔问题:
一:结合备忘录状态
备忘录状态适合接受者为状态变化的情况,不适合时间的处理
二:增加一个命令实现时间的回滚
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2