设计模式[4]-Command

简介:

Type: Behavioral


#include <iostream>
#include <vector>
using namespace std;

class Receiver
{
public:
    void action()
    {
        cout <<"Receiver Action"<<endl;;
    }
};

class Command
{
public:
    virtual void execute()=0;
};

class ConcreteCommand: public Command
{
public:
    ConcreteCommand(Receiver* pReceiver): m_pReceiver(pReceiver){};
    void execute()
    {
        m_pReceiver->action();
    };
private:
    Receiver* m_pReceiver;
};

class Invoker
{
public:
    void addCommand(Command *pCommand)
    {
        mCommand.push_back(pCommand);
        pCommand->execute();
    }
private:
    vector<Command*> mCommand;
};

int main()
{
    Receiver* pReceiver = new Receiver();
    Command*  pCommand  = new ConcreteCommand(pReceiver);
    Invoker*  pInvoker  = new Invoker();
    pInvoker->addCommand(pCommand);


    system("pause");
    return 0;
}

目录
相关文章
|
设计模式 语音技术
设计模式12 - 命令模式【Command Pattern】
设计模式12 - 命令模式【Command Pattern】
56 0
|
7月前
|
设计模式 存储 Java
认真学习设计模式之命令模式(Command Pattern)
认真学习设计模式之命令模式(Command Pattern)
165 0
|
7月前
|
设计模式 存储 Java
【设计模式】JAVA Design Patterns——Command(事务模式)
【设计模式】JAVA Design Patterns——Command(事务模式)
|
7月前
|
设计模式 Java
设计模式-命令模式(Command)
设计模式-命令模式(Command)
69 0
|
设计模式 Java API
【设计模式——学习笔记】23种设计模式——命令模式Command(原理讲解+应用场景介绍+案例介绍+Java代码实现)
【设计模式——学习笔记】23种设计模式——命令模式Command(原理讲解+应用场景介绍+案例介绍+Java代码实现)
128 0
|
设计模式 Java
设计模式~命令模式(Command)-18
目录 十八 命令模式(Command) (1)优点: (2)缺点: (3)使用场景: (4)注意事项: (5)应用实例: 代码 十八 命令模式(Co
58 0
|
设计模式 Java 数据库
Java中23种面试常考的设计模式之命令模式(Command)---行为型模式
Java中23种面试常考的设计模式之命令模式(Command)---行为型模式
90 1
|
SQL 设计模式 Java
Java设计模式-命令模式(Command)
Java设计模式-命令模式(Command)
|
设计模式
从零开始学设计模式(二十二):命令模式(Command Pattern)
命令模式(Command Pattern)又叫动作模式或事务模式。指的是将一个请求封装成一个对象,使发出请求的责任和执行请求的责任分割开,然后可以使用不同的请求把客户端参数化,这样可以使得两者之间通过命令对象进行沟通,从而方便将命令对象进行储存、传递、调用、增加与管理。命令模式是一种对象行为型模式。
281 0
从零开始学设计模式(二十二):命令模式(Command Pattern)
|
设计模式 Java
设计模式-命令模式(Command)
命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。
143 0
设计模式-命令模式(Command)