#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;
}

设计模式复习-命令模式相关推荐

  1. 设计模式 之 命令模式

    2019独角兽企业重金招聘Python工程师标准>>> 设计模式 之 命令模式 命令模式比较简单,不过多赘述 为什么需要命令模式 将"行为请求者"与"行 ...

  2. 乐在其中设计模式(C#) - 命令模式(Command Pattern)

    原文:乐在其中设计模式(C#) - 命令模式(Command Pattern) [索引页] [源码下载] 乐在其中设计模式(C#) - 命令模式(Command Pattern) 作者:webabcd ...

  3. 23种设计模式之命令模式和策略模式的区别

    文章目录 概述 命令模式 策略模式 相同点 总结 概述 命令模式和策略模式确实很相似,只是命令模式多了一个接收者(Receiver)角色.它们虽然同为行为类模式,但是两者的区别还是很明显的.策略模式的 ...

  4. 设计模式之命令模式(Command)摘录

    23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而 ...

  5. plsql执行command命令控制台出现乱码_设计模式系列 — 命令模式

    点赞再看,养成习惯,公众号搜一搜[一角钱技术]关注更多原创技术文章.本文 GitHub org_hejianhui/JavaStudy 已收录,有我的系列文章. 前言 23种设计模式速记 单例(sin ...

  6. Java 设计模式之命令模式

    一.了解命令模式 1.1 什么是命令模式 命令模式将"请求"封装成对象,以便使用不同的请求.队列或者日志来参数化其他对象.命令模式也支持可撤销的操作.这种说法比较难以理解,换种说法 ...

  7. 设计模式:命令模式(Command)

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...

  8. 【设计模式】命令模式

    命令模式:将请求封装在对象中,客户不直接调用某个对象的方法,而是使用命令,将命令传递给拥有方法的对象从而让某一方法被调用.UML图例如以下: 以下是用C++描写的命令模式的一个简单样例: #inclu ...

  9. Android设计模式之——命令模式

    一.介绍 命令模式(Command Pattern),是行为型设计模式之一.命令模式相对于其他的设计模式来说并没有那么多的条条框框,其实它不是一个很"规范"的模式,不过,就是基于这 ...

最新文章

  1. 【swjtu】数据结构实验9_多种排序算法的实现
  2. matplotlib之plot
  3. 金碧辉煌!皇城定制5月22日正式对外运营开业!
  4. 在markdown中设置字体颜色以及背景颜色
  5. python 中的爬虫· scrapy框架 重要的组件的介绍
  6. Sql Server 按格式输出日期
  7. 分布式MQ消息存储选择
  8. 免费!200块全志XR806开源鸿蒙开发板试用
  9. python做物联网控制_python实现NB-IoT模块远程控制
  10. 超级计算机手机芯片,美国开建arm超级计算机,单节点性能是手机芯片100倍
  11. 谁是三国跳槽王:吕布成毫无规划的跳槽者
  12. 先装vs还是先装sql_止回阀该装在出口阀前还是阀后?
  13. CICD详解(八)——gitlab安装与配置
  14. linux下rpm包安装jdk,linux jdk rpm包安装
  15. 薅羊毛第三十七次更新
  16. vue项目-jQuery中Nicescroll滚动条插件的用法
  17. windows设置定时任务(win10任务计划程序)
  18. 基于Matlab的简单视频处理
  19. [源码、文档、分享] iOS/iPhone学习系列、代码教程(转)
  20. 微服务架构-分布式解决方案-110:基于canal整合kafka异步解决数据一致性的问题

热门文章

  1. 面试题:四种Java线程池用法解析 !=!=未看
  2. 调研:移动OA受热捧 企业更关注协同办公
  3. eclipse+MapReduce
  4. 01.The Introduction of Linux
  5. 为什么局域网的IP普遍是192.168开头?
  6. wordpress图片水印插件DX-Watermark
  7. 超酷的实时颜色数据跟踪javascript类库 - Tracking.js
  8. 穿透Session 0 隔离(一)
  9. MYSQL的一些常用函数
  10. python-函数进阶