C++设计模式——命令模式 Command
2021-02-03 22:16
标签:参数化 span 重做 技术 auto str names oid 情况 命令模式,是将一个请求封装为一个对象,从而使我们可以用不同的请求对客户进行参数化、对请求排队或记录请求日志,以及支持可撤销的操作。 将一个请求(行为)封装成一个对象,从而使你可用不用的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。 ——《设计模式》GoF 优点: C++设计模式——命令模式 Command 标签:参数化 span 重做 技术 auto str names oid 情况 原文地址:https://www.cnblogs.com/wkfvawl/p/12799169.html动机(Motivation)
模式定义
要点总结
结构(Structure)
基本代码
#include
using namespace std;
// Receiver类,知道如何实施与执行一个与请求相关的操作:
class Receiver {
public:
void Action() {
cout "Receiver" endl;
}
};
// Command类,用来声明执行操作的接口
class Command {
public:
virtual void Excute() = 0;
virtual void setReceiver(Receiver* r) = 0;
virtual ~Command(){};
};
// ConcreteCommand类,绑定一个Receiver,调用其相应操作以实现Excute:
class ConcreteCommand : public Command {
private:
Receiver* receiver;
public:
void setReceiver(Receiver* r) {
receiver = r;
}
void Excute() {
//cout
receiver->Action();
}
};
// 要求该命令执行这个请求:
class Invoker {
private:
list
应用场景
文章标题:C++设计模式——命令模式 Command
文章链接:http://soscw.com/index.php/essay/50612.html