设计模式之命令模式
来源:互联网 发布:怎么做自己的淘宝客app 编辑:程序博客网 时间:2024/04/29 21:08
【定义】命令模式(Command),将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。
【场景】这里以向窗口发送消息和窗口处理消息为例(有些牵强,UI窗口的消息管理其实可以用这个设计模式模拟实现,将Invoker改成MessageManager,set_message()改成为增加消息映射,将Window抽象成接口)。
【UML】
【代码】
#include <iostream>using namespace std;class Window{public:void action(){cout<<"window handle message!"<<endl;}};class Message{protected:Window* window;public:void set_window(Window* wnd){window = wnd;}virtual void excute() = 0;};class MsgInvoker{private:Message* message;public:void set_message(Message* msg){message = msg;}virtual void handle_message(){message->excute();}};class ConcreteMessage : public Message{public:void excute(){window->action();}};int main(){Window* window = new Window;MsgInvoker* invoker = new MsgInvoker;Message* message = new ConcreteMessage;message->set_window(window);invoker->set_message(message);invoker->handle_message(); delete window; delete invoker; delete message; return 0;}
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之--命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之--命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之命令模式
- 设计模式之 命令模式
- 一些关于jquery的总结
- Android平台代号、版本和API级别
- iPhone SDK开发:自定义UIAlertView
- jbpm教程(七)从开始节点和从中间节点 搜索可选路径
- svn 迁移、升级
- 设计模式之命令模式
- Struts2中的特殊符号
- signavio\editor\build.xml:118: Java returned: 2 编译错误
- Hibernate主键策略
- [心得]银行业务岗,从找工作一路走来
- 如何选择到最好女孩
- 高效SQL语句必杀技
- windows 下几个自己的 cmd 常用命令
- 浅析flex UI层实现