atitit.设计模式(2) -----查表模式/ command 总结

atitit.设计模式(2) -----查表模式command 总结算法

 

1. 应用场景: 1设计模式

1. 取代一瓦if else 1api

2. 建设api rpc风格的时候儿. 1网络

3. 菜单是Command模式的一个典型实例, 1函数

4. 上下文中执行客户代码 1编码

5. 使用命令模式做为"CallBack"在面向对象系统中的替代。 1spa

6. 3)系统须要支持命令的撤消(undo)2.net

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)

命令对象能够把状态存储起来,等到客户端须要撤销命令所产生的效果时,能够调用undo()方法,把命令所产生的效果撤销掉。命令对象还能够提供redo()方法,以供客户端在须要时,再从新实施命令效果。

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 我要啦免费统计 我要啦免费统计
相关文章
相关标签/搜索