命令模式

Command Pattern(Another Name:Action,Transaction)

Encapsulate a request as an object ,thereby letting you parameterize clients with different requests, queue or log request , and support undoable operations .

将一个请求对象封装成一个对象,从而使用户能用不同的请求对客户进行参数化,对请求排队或者记录请求日志,以及支持可撤销的操作

用于行为请求者和行为实行者实现解耦,可实现二者之间的松耦合,以便适应变化,分离变化于不变的因素.

命令模式类图

命令模式中,命令请求者不直接与接收者交互,即请求着不包含接收者的饮用,因此彻底消除了彼此的耦合。

命令模式满足开闭原则,如果增加新的具体命令和命令接收者,不用修改调用者(请求者)的代码,调用者就可以用新的命令对象;反之,如果增加新的调用者(请求者),不必修改现有的具体命令和接收者,新增加的调用者就可以使用已有的具体命令。

最新文章

  1. Livecoding.tv2.5发布,增加“用户搜索引擎”功能,方便用户找到匹配的程序员
  2. DirectX9 Sample_Empty Project
  3. linux 用户创建、管理、权限分配
  4. fibonacci高精度加法
  5. C++之路起航——标准模板库(vector)
  6. Qt之属性系统
  7. 最近的bug列表总结(C++)
  8. Oracle数据库中truncate命令和delete命令的区别
  9. ubuntu设置固定ip
  10. Tomcat(四):tomcat图形管理和身份认证
  11. BT656跟BT1120和BT709有什么区别
  12. 5个你不知道的HTML5的接口
  13. Python学习第二篇
  14. python----常用功能
  15. U3D MemoryProfiler
  16. Android布局分析工具HierarchyView的使用方法
  17. Spring WebSocket教程(二)
  18. patrol_data_unit_edit.jsp
  19. 推荐系统之余弦相似度的Spark实现
  20. Constructing Roads----poj2421(最小生成树Kruskal)

热门文章

  1. bzoj 1061 [Noi2008]志愿者招募(数学模型,MCMF)
  2. 检查ept
  3. 关于LyX的一些小问题
  4. Tkinter教程之Canvas篇(4)
  5. [Hive优化] 之 MapJoin
  6. 办公室网络二三事 - chunyu
  7. 排序算法之快速排序(java实现)
  8. HDU 4562 守护雅典娜(dp)
  9. [iOS微博项目 - 2.1] - 获得新浪授权接口
  10. Spring Data Solr教程(翻译)