设计模式(二十二)command
来源:互联网 发布:java一定要去培训班吗 编辑:程序博客网 时间:2024/05/19 03:45
1.使用场景:将行为请求者和行为实现者解耦,将一组行为抽象为对象,可以实现二者之间的松耦合
2.定义:讲一个请求封装为一个对象,从而使你可以用不同的
请求对客户进行参数化。。。
command设计模式:
#include <iostream>#include <vector>#include <string>using namespace std;class Command{public: virtual void execute() = 0;};class ConcreteCommand1 : public Command{ string arg;public: ConcreteCommand1(const string & a) : arg(a) {} void execute() override { cout<< "#1 process..."<<arg<<endl; }};class ConcreteCommand2 : public Command{ string arg;public: ConcreteCommand2(const string & a) : arg(a) {} void execute() override { cout<< "#2 process..."<<arg<<endl; }}; class MacroCommand : public Command{ vector<Command*> commands;public: void addCommand(Command *c) { commands.push_back(c); } void execute() override { for (auto &c : commands) { c->execute(); } }}; int main(){ ConcreteCommand1 command1(receiver, "Arg ###"); ConcreteCommand2 command2(receiver, "Arg $$$"); MacroCommand macro; macro.addCommand(&command1); macro.addCommand(&command2); macro.execute();}
阅读全文
0 0
- 设计模式(二十二)command
- 设计模式(二十二)命令模式(Command)-行为型
- 设计模式C++之十二(Command命令模式)
- 设计模式(二十二) 策略模式
- java 设计模式学习笔记十二 command命令设计模式
- 设计模式之Command 二
- 设计模式学习笔记二十二(State状态模式)
- 设计模式之(二十二)访问者模式(visitor)
- Java设计模式之二十二(备忘录模式)
- 设计模式(c++)笔记之二十二(Iterator模式)
- 设计模式实现(二十二)--- 享元模式(Flyweight)
- Java设计模式(二十二)----调停者模式
- 设计模式(二十二)--桥接模式
- JAVA--中介者模式(Mediator)--设计模式二十二
- 小话设计模式(二十二)模板方法模式
- Android设计模式(二十二)-外观模式
- PHP设计模式系列(二十二):解释器模式
- 设计模式—享元模式(二十二)
- sqrt函数实现-二叉搜索
- @Version
- MongoDB常用命令汇总之语句块操作。
- Python 中文排序
- centos 安装VSCODE 的经历
- 设计模式(二十二)command
- 19、android 自定义虚线
- Python学习整理之输入输出input(),print()
- react前端+node后台+mongoose+express框架搭建
- Win10下安装卸载Ubuntu16.04双系统的方法
- cnn补充材料
- fgm实例练习笔记-2.11鼠标移过改变图片路径
- 初识Git(一)
- Android 屏幕适配:最全面的解决方案