设计模式复习-命令模式
生活随笔
收集整理的这篇文章主要介绍了
设计模式复习-命令模式
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
#pragma once
#include "stdafx.h"
#include<set>
#include<string>
#include<iostream>
using namespace std;/*设计模式-命令模式(Command)将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;
对请求排队或记录请求日志,以及支持可撤销的操作。
*/class CReceiver {//知道如何实施于执行一个与请求相关的类的操作。
public:void Action() {cout << "command" << endl;}
};class CCommand {//用来声明执行操作的接口。
protected:CReceiver *m_pReceiver;
public:CCommand(CReceiver *pCReceiver) {m_pReceiver = pCReceiver;}virtual void Execute() = 0;
};class CConcreteCommand :public CCommand {//将一个接受对象绑定于一个接受动作,调用接受者相应的操作,以实现Execute.
public:CConcreteCommand(CReceiver *pCReceiver) :CCommand(pCReceiver) {}void Execute() {m_pReceiver->Action();}
};class Cinvoker {//要求该命令执行这个请求
private:CCommand *m_pCommand;
public:void SetCommand(CCommand *pCommand) {m_pCommand = pCommand;}void ExecuteCommand() {m_pCommand->Execute();}
};int main() {CReceiver *pReceiver = new CReceiver();CCommand *pCommand = new CConcreteCommand(pReceiver);Cinvoker *pInvoker = new Cinvoker();pInvoker->SetCommand(pCommand);pInvoker->ExecuteCommand();delete pReceiver;delete pCommand;delete pInvoker;getchar();return 0;
}
总结
以上是生活随笔为你收集整理的设计模式复习-命令模式的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 设计模式复习-桥接模式
- 下一篇: 设计模式复习-职责链模式