状态模式——行为型设计模式之三
来源:互联网 发布:淘宝商城男士洗面奶 编辑:程序博客网 时间:2024/05/16 02:09
一、命令
将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。
命令模式联系生活,结合面向对象思想,最起码应该有四个类,命令发出者,命令传递命令接收者,还有命令本身。
或许有的人会说,命令传递者有点多余,多余吗?
为什么要加命令传递者?命令传递者可不仅是用来传递命令哦!
先从生活中抽象出一个例子:饭店服务员就好是模式中的命令传递者。
试想,饭店里没有服务员会怎么样?
顾客要跟厨师直接下订单。不论是菜做好了还是某一样菜没有,厨师都得找到具体顾客,一个顾客可以,顾客多了怎么办?厨师记得清楚吗?恐怕他自己做菜都忙不过来,那还记得是谁点的菜!到这还没有完,顾客要修改订单,想换菜,厨师这下头大了,是哪桌的菜啊,哪桌要换啊,哪桌先来的啊,哪个桌的菜没有了呀……
饭店服务员的任务是什么?
1、整理顾客的订单——增加,删除,修改。由于顾客或者饭店原因可能有事需要对订单进行修改,删除,这都是服务员任务。
2、记录订单的顺序
3、把整理好的订单传给厨师。
这样,他只需要按照服务员给他的订单先后做菜就Ok了,其间有什么变化,也是服务员来管理订单。要是没有那样菜,他也只需通过服务员传递给顾客,及时调换。
看来命令模式中,命令传递者是必不可少了。
剩下命令发出者,接受者,都各司其职,系统就运转起来了。
二、类图
- 状态模式——行为型设计模式之三
- 设计模式-行为型之状态模式
- 设计模式之行为型模式三
- 设计模式21——行为型模式之状态模式
- 设计模式 行为模式之状态模式
- 设计模式之行为模式---状态模式
- Java设计模式之行为型模式(状态模式)
- JAVA设计模式(20) —<行为型>状态模式(State)
- 【设计模式】—-(20)状态模式(行为型)
- [设计模式笔记]三. 行为型模式--22. State模式(状态)对象行为型模式(一)
- 设计模式 - 行为型模式 - 状态模式
- 设计模式->行为型模式->状态模式
- 设计模式 之 STATE(状态)实例 —对象行为型模式
- 设计模式 之 STATE(状态)实例 —对象行为型模式
- 【设计模式】行为模式之State状态
- 行为型模式之八——状态模式
- java设计模式(行为型)之状态模式
- 设计模式(行为型)之状态模式(State Pattern)
- 各种java面试题及答案参考资料集
- Operation not allowed after ResultSet closed
- android运行C程序以及C程序在android下的编译
- 如何更新linux系统时间
- C# 如何关联键盘按钮 (KeyChar/KeyCode值 KeyPress/KeyDown事件 区别)
- 状态模式——行为型设计模式之三
- SELECT INTO 和 INSERT INTO SELECT
- 字符串不进行初始化,那就等着bug蹦出来吧! (也谈程序为啥经常出现“烫烫烫烫烫烫”)
- ORACLE存储过程(三)之package
- ORACLE 9i卸载并重新安装
- 数据结构 uva-540-Team Queue
- 解决android有的手机拍照后上传图片被旋转的问题 .
- PHP 5.3.x 的 strtotime() 时区设定 警告信息修复
- 硬盘空间不够用了,怎么办,还有更绝的