命令模式
来源:互联网 发布:国家税务局网络发票 编辑:程序博客网 时间:2024/06/06 02:35
#include <iostream.h>
//命令模式 -----
//通过一个传达者将各种操作传达到具体的实施者
//这种模式中命令包含了实施者或者说命令的操作引起实施者的操作
//这是一种分层结构,上层是命令,下层是实施者
//各种操纵单独生成类并有共同的抽象基类
class RealExe //真正实施者
{
public:
RealExe(){}
virtual ~RealExe(){}
public:
virtual void ExeCommand()
{
cout << "执行了点火命令" << endl;
}
};
class Command //命令由客户发出
{
protected:
RealExe *realExe;
public:
Command(){}
Command(RealExe *realExe)
{
this->realExe = realExe;
}
virtual ~Command(){}
public:
virtual void SetRxe(RealExe *realExe)
{
this->realExe = realExe;
}
virtual void ExeCommand() = 0;
};
class Fire : public Command
{
public:
Fire(RealExe *real):Command(real){}
virtual ~Fire(){}
public:
virtual void ExeCommand() //命令执行即是实施者执行 命令->实施者
{
this->realExe->ExeCommand();
}
};
class Transfer //命令传达者
{
private:
Command *command;
public:
Transfer(){}
virtual ~Transfer(){}
public:
void SetCommand(Command *command) //接收命令
{
this->command = command;
}
void SendCommand() //发送命令
{
this->command->ExeCommand();
}
};
void main()
{
RealExe *a = new RealExe(); //真正实施者事先存在但客户不须知道它的存在
Transfer *t = new Transfer(); //传达者事先存在
Command *com = new Fire(a); //客户发生命令
t->SetCommand(com); //传达者接收命令
t->SendCommand(); //传达者发出命令
}
- 命令模式
- 命令模式
- 命令模式
- 命令模式
- 命令模式
- 命令模式
- 命令模式
- 命令模式
- 命令模式
- 命令模式
- 命令模式
- 命令模式
- 命令模式
- 命令模式
- 命令模式
- 命令模式
- 命令模式
- 命令模式
- PHP创建验证码
- VC释放资源
- 在java程序设计中,vector与hashtable用法的区别,请详细说明。
- Android给bitmap图加上倒影效果
- Android 通过Intent 传递对象
- 命令模式
- 开篇:总要写点什么吧,留给回忆
- 彻底领悟javascript中的exec与match方法
- i2c_master_send()函数实例
- mtk 添加audio codec芯片注意事项
- java中List对象集合的遍历方法
- 使用.NET中的XML注释(一) -- XML注释标签讲解
- ARM的DSP & SIMD技术
- JAVA版hashtable的使用和学习,使用emuneration