设计模式-命令模式
来源:互联网 发布:web优化 编辑:程序博客网 时间:2024/06/08 01:53
应用场景:
1. 当一个应用程序调用者与多个目标对象之间存在调用关系时,并且目标对象之间的操作很类似的时候。
2. 例如当一个目标对象内部的方法调用太复杂,或者内部的方法需要协作才能完成对象的某个特点操作时。
3. 有时候调用者调用目标对象后,需要回调一些方法。
职责定义:
1. Invoker:调用者对象。
2. ICommand:用于解耦目标对象与调用者之间的抽象命令对象。
要点:
1. 对请求部分进行封装,封装使用的是: ICommand。
2. 调用者:Invoker把ICommand作为参数加入自身,调用Execute()执行具体请求。
优劣势描述:
1. 能较容易地建立一个命令队列
2. 在需要的情况下,可以较容易地将命令记入日志
3. 允许接收请求的一方是否拒绝请求
4. 可以容易地实现对请求的撤销和重做
总结:
将请求进行封装,可以在封装的内部做一些其他扩展,例如增加日志、对调用顺序记录。类似于AOP,命令模式在程序中经常被使用,比如委托就是使用命令模式的一种体现。
0 0
- 设计模式---命令模式
- 设计模式-命令模式
- 设计模式:命令模式
- 设计模式:命令模式
- 设计模式:命令模式
- 设计模式 命令模式
- 设计模式--命令模式
- 设计模式---命令模式
- 设计模式- 命令模式
- 设计模式---命令模式
- 设计模式 - 命令模式
- 【设计模式】【命令模式】
- 设计模式---命令模式
- 设计模式 - 命令模式
- 设计模式:命令模式
- 设计模式 - 命令模式
- 设计模式-命令模式
- 设计模式---命令模式
- HADOOP与STORM比较
- webstorm 的快捷键
- 移动通讯市场的视频会议
- TextView
- java http
- 设计模式-命令模式
- ArcGIS教程:ArcGIS中图层添加投影及投影转换
- spring data elasticsearch的一个复杂查询条件
- JBoss Resteasy初探
- 使用Nginx负载均衡搭建高性能.NETweb应用程序二
- linux查看内核版本
- onvif开发系列之--------onvif 框架代码生成
- UIImage应用与内存管理
- 第十五周 项目1:读程序,单步调试