c++设计模式之命令模式
2016-12-11 13:15
453 查看
命令模式将"请求"封装成对象, 以便使用不同的请求, 队列, 或者日志来参数化其他对象. 命令模式也支持可撤销的操作.
命令模式将发出请求的对象和执行请求的对象解耦, 在被解耦的两者之间通过命令对象进行沟通
命令模式的用途: 队列请求, 日志请求...
测试
命令模式将发出请求的对象和执行请求的对象解耦, 在被解耦的两者之间通过命令对象进行沟通
命令模式的用途: 队列请求, 日志请求...
#ifndef Command_h #define Command_h class Receiver // 命令接收者 { public: void action() { printf("Receiver action"); } }; class Command // 命令抽象接口 { public: Command(Receiver *r) : receiver(r) { } virtual void excute() = 0; // 执行命令 protected: Receiver *receiver; }; class ConcreteCommand : public Command { public: ConcreteCommand(Receiver *r) : Command(r) { } virtual void excute() { receiver->action(); } }; class Invoker // 调用者 { public: void action(Command *c) { c->excute(); } }; #endif
测试
#include <iostream> #include "Command.h" int main(int argc, char **argv) { Receiver receiver; ConcreteCommand command(&receiver); Invoker invoker; invoker.action(&command); return 0; }
相关文章推荐
- c++设计模式:命令模式(Command Pattern)
- 设计模式之命令模式 及 c++ 实现
- 最常用的设计模式---命令模式(C++实现)
- c++设计模式(命令模式)
- C++设计模式之命令模式
- 设计模式C++学习笔记之十二(Command命令模式)
- c++设计模式--命令模式
- 设计模式--命令模式 C++实现
- 设计模式:命令模式(6)C++版
- 设计模式C++学习笔记之十二(Command命令模式)
- C++设计模式之十四:Command(命令)
- Head First 设计模式 (六) 命令模式(Command pattern) C++实现
- 设计模式 --> 命令模式(C++实现)
- 设计模式 - 命令模式 C++
- 设计模式C++学习笔记之十二(Command命令模式)
- 设计模式C++学习笔记之十二(Command命令模式)
- c++设计模式:命令模式(Command Pattern)
- Head First 设计模式 (六) 命令模式(Command pattern) C++实现
- 我所理解的设计模式(C++实现)——命令模式(Command Pattern)
- 设计模式观后(c++还原之十二 命令模式)