atitit.设计模式(2) -----查询方式/ command 总结
2015-09-26 15:18
267 查看
atitit.设计模式(2) -----查询方式/ command 总结
1. 应用场景: 1
1. 代替一瓦if else 1
2. 建设api rpc风格的时候儿. 1
3. 菜单是Command模式的一个典型实例。
1
4. 上下文中运行客户代码 1
5. 使用命令模式作为"CallBack"在面向对象系统中的替代。
1
6. 3)系统须要支持命令的撤消(undo)。
2
7. 日志恢复 2
2. Command模式类似于Interpreter模式.
2
3. Command模式和职责链的差别
2
2)须要在不同的时间指定请求、将请求排队。一个命令对象和原先的请求发出者能够有不同的生命期。换言之,原先的请求发出者可能已经不在了,而命令 对象本身仍然是活动的。这时命令的接收者能够是在本地。也能够在网络的另外一个地址。命令对象能够在串形化之后传送到另外一台机器上去。
6. 3)系统须要支持命令的撤消(undo)。
命令对象能够把状态存储起来,等到client须要撤销命令所产生的效果时。能够调用undo()方法,把命令所产生的效果撤销掉。命令对象还能够提供redo()方法。以供client在须要时,再又一次实施命令效果。
作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
參考
Java之命令模式(Command Pattern) - Devin Zhang - 博客园 (hteu 有 etc code
o725
1. 应用场景: 1
1. 代替一瓦if else 1
2. 建设api rpc风格的时候儿. 1
3. 菜单是Command模式的一个典型实例。
1
4. 上下文中运行客户代码 1
5. 使用命令模式作为"CallBack"在面向对象系统中的替代。
1
6. 3)系统须要支持命令的撤消(undo)。
2
7. 日志恢复 2
2. Command模式类似于Interpreter模式.
2
3. Command模式和职责链的差别
2
1. 应用场景:
1. 代替一瓦if else
2. 建设api rpc风格的时候儿.
3. 菜单是Command模式的一个典型实例,
它可以充分体现该模式的价值.在菜单的设计中。菜单项知道应该在何时运行操作,可是并不知道将会调用哪个方法.我们通过应用Command模式可以将菜单项相应的方法调用作为參数传给菜单.4. 上下文中运行客户代码
Command模式的另外一个使用方法是同意在服务的上下文中运行客户代码.服务常常在客户代码调用前和调用后运行.最后,除了控制方法运行的时机或者上下文之外,Command模式还能够提供钩子。同意可选的客户代码作为算法的一部分运行5. 使用命令模式作为"CallBack"在面向对象系统中的替代。
1)"CallBack"讲的便是先将一个函数登记上。然后在以后调用此函数。2)须要在不同的时间指定请求、将请求排队。一个命令对象和原先的请求发出者能够有不同的生命期。换言之,原先的请求发出者可能已经不在了,而命令 对象本身仍然是活动的。这时命令的接收者能够是在本地。也能够在网络的另外一个地址。命令对象能够在串形化之后传送到另外一台机器上去。
6. 3)系统须要支持命令的撤消(undo)。
命令对象能够把状态存储起来,等到client须要撤销命令所产生的效果时。能够调用undo()方法,把命令所产生的效果撤销掉。命令对象还能够提供redo()方法。以供client在须要时,再又一次实施命令效果。7. 日志恢复
4)假设一个系统要将系统中全部的数据更新到日志里,以便在系统崩溃时,能够依据日志里读回全部的数据更新命令,又一次调用Execute()方法一条一条运行这些命令。从而恢复系统在崩溃前所做的数据更新。作者:: 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
2. Command模式类似于Interpreter模式.
3. Command模式和职责链的差别
在这个层面上。Command模式和其是相竞争的。Command模式类似直接抛绣球,知道目的,可以最有效率。可是前提在设计编码阶段你必须知道你的目的地。Command模式和职责链的差别与Decorator和AOP拦截器的差别是类似的參考
Java之命令模式(Command Pattern) - Devin Zhang - 博客园 (hteu 有 etc code
o725
相关文章推荐
- oracle sysman 账号修改 EM不能进问题
- 最重要的是自己的看法
- SQL SERVER 2008 中三种分页方法与比较
- Linux(Centos6.5)+Nginx+PHP-fpm+Mysql配置
- Oracle基本数据字典:v$database、v$instance、v$version、dba_objects
- ssh远程报错ssh_exchange_identification: read: Connection reset by peer
- Eclipse 常用快捷键
- 蓝牙开发基础学习
- 机器学习-统计学习方法概论
- 字典序最小问题
- 代码查错
- liferay中数据库表的解析未完
- Objective-C 分数加减乘除
- 设计模式-模式和代码
- composer update 报错 Failed to decode response: zlib_decode()
- REST简介
- 压力测试必知
- android中利用tablelayout实现表格效果
- IOS基础-设计模式、手势识别器
- kafka+storm+hbase架构设计