Command模式
来源:互联网 发布:js设置div透明度 编辑:程序博客网 时间:2024/04/29 07:22
命令模式
动机(Motivation)
在软件的构建过程中,“行为请求者”和“行为为实现者”通常呈现一种“紧耦合”。但在某些场合——比如需要对行为进行记录、撤销/重做、事务等处理,这种无法抵御变化的紧耦合不合适的。
在这种情况下,如何将“行为请求者”和“行为实现者”解耦?将一组行为抽象为对象,可以实现二者之间的松耦合。
意图(Intent)
将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。
结构(Structure)
几个要点 Command模式的根本目的在于将“行为请求者”和“行为实现者”解耦,在面向对象的设计中,常用的实现手段是将“行为抽象为对象”。 实现Command接口的具体命令对象ConcreteCommand有时候根据需要可能会保存一些额外的状态信息。 通过使用Composite模式,可将多个“命令”封装为一个“复合命令”MacroCommand。
Command模式和C#中的Delegate有些类似,但两者定义行为接口的规范有所区别:Command模式以面向对象的“接口”来定义行为接口规范,更严格,更符合抽象原则;而Delegate以函数签名方法定义行为接口规范,更灵活,但抽象能力比较弱。
- Command模式
- Command模式
- Command模式
- Command 模式
- Command 模式
- Command模式
- command模式
- Command模式
- Command模式
- Command模式
- Command 模式
- Command 模式
- Command模式
- Command模式
- Command模式
- COMMAND 模式
- Command模式
- Command模式
- 专家分
- 安装系统
- WOL远程开机启动
- vi配置文件
- 一日一省linux:系统信息查看命令大全
- Command模式
- LInux进程控制与编程
- Compass2.2 学习笔记
- Java中获取GBK编码汉字的拼音字头方法。
- 使用vss2005在vs2005项目中进行协作开发
- QQ无法运行
- zoj 3327 Friend Number
- 高手是怎样炼成的
- C - Extended Lights Out