设计模式读书笔记之命令模式(Command Pattern)
来源:互联网 发布:瑞丽宏泰网络公司地址 编辑:程序博客网 时间:2024/05/19 17:05
命令模式:将请求封装成对象,从而可使用不同的请求对客户进行参数化,对请求进行排队,撤销等操作。
特点:
Invoker:负责接收和执行命令,也可对命令排队,执行命令撤销等等;
Command:命令接口,声明了相关的操作;
ConcreteCommand:具体的命令, 持有一个Receiver,并通过调用Receiver的方法执行具体的操作;
Receiver:请求的最终执行者。
基础代码:
举例说明:去烧烤店吃烧烤, 如果客人直接和烧烤的伙计打交道, 则烧烤的伙计将直接面对各种各样的客户各种各样的需求,各种各样的口味, 而且有的客人会因为等不及而走掉,但是伙计却不知道......最后烧烤伙计手忙脚乱,就乱套了. 那么我们用命令模式来改进一下这个烧烤店: 增加一个服务员, 负责接待客户, 那么客人将向服务员点菜; 服务员手中拿着烧烤订单纸, 客人只要把自己想要的东西写上, 并注明口味, 这就是命令, 服务员需按客人点餐的顺序把订单放在烧烤伙计的窗台上, 如果有客人退单了, 那么她只需要把订单抽掉就行了; 烧烤伙计则只需要看订单安心做烧烤就行了.
代码就不写了. 和上面如出一辙.
优点:
很容易构造一个命令队列;
增加命令的状态,实现命令的撤销和重做;
新的命令轻而易举可以加入其中;
记录相关的命令日志.
- 设计模式读书笔记之命令模式(Command Pattern)
- 设计模式读书笔记之命令模式(Command Pattern)
- 设计模式之命令模式(Command Pattern)
- 设计模式之命令模式(Command Pattern)
- 设计模式之命令模式---Command Pattern
- 命令设计模式(Command Pattern)
- 设计模式笔记之命令模式(command Pattern)
- Php设计模式之【命令模式Command Pattern】
- 设计模式之七 命令模式(Command Pattern)
- 设计模式之七:命令模式(Command Pattern)
- 设计模式之-命令模式(Command Pattern)
- JAVA设计模式之 命令模式【Command Pattern】
- 设计模式(行为型)之命令模式(Command Pattern)
- 设计模式之:命令模式(Command Pattern)
- 设计模式总结之Command Pattern(命令模式)
- Net设计模式实例之命令模式(Command Pattern)
- 设计模式拾荒之命令模式( Command Pattern )
- 设计模式 - Command Pattern(命令模式)
- 开启我的CSDN博客之旅——写在数据库技术大会之后
- c#webBrowser 实现自动填入选择下拉列表
- 红皮书c#高级编程(第6版)_第4章_接口
- 使用 OpenRowSet 和 OpenDataSource 访问 Excel 97-2007
- boost中模板函数addressof()实现原理
- 设计模式读书笔记之命令模式(Command Pattern)
- Cancel in DetailsView
- C++性能优化(1)
- 网站制作过程----新手必看!
- 使用SetLayeredWindowAttributes API 实现透明窗口
- 此时桶装水是否应该进入?
- python 数据类型:字典
- VC++ 6.0中名称修饰
- 清明念亲