当前位置: 首页 > news >正文

中国建设银行网上银行个人登录官方网站郑州建网站价

中国建设银行网上银行个人登录官方网站,郑州建网站价,设计网页页面,wordpress知更鸟more解释说明#xff1a;命令模式#xff08;Command Pattern#xff09;是一种数据驱动的设计模式#xff0c;它属于行为型模式。请求以命令的形式包裹在对象中#xff0c;并传递给调用对象。调用对象寻找可以处理该命令的合适对象#xff0c;并把该命令传给相应的对象…解释说明命令模式Command Pattern是一种数据驱动的设计模式它属于行为型模式。请求以命令的形式包裹在对象中并传递给调用对象。调用对象寻找可以处理该命令的合适对象并把该命令传给相应的对象该对象执行命令。 命令抽象类Command定义命令的接口声明执行的方法。 具体命令ConcreteCommand命令接口实现对象是“虚”的实现通常会持有接收者并调用接收者的功能来完成命令要执行的操作。 实现者/接收者Receiver接收者真正执行命令的对象。任何类都可能成为一个接收者只要它能够实现命令要求实现的相应功能。 调用者/请求者Invoker要求命令对象执行请求通常会持有命令对象可以持有很多的命令对象。这个是客户端真正触发命令并要求命令执行相应操作的地方也就是说相当于使用命令对象的入口。 command.h #pragma once class Command { public://每个命令类都必须有一个执行命令的方法virtual void execute() 0; }; receiver.h #pragma once class Receiver { public://抽象接收者 定义每个接收者都必须完成的业务virtual ~Receiver() { }virtual void doSomething() 0; }; concreteCommand.h #pragma once #include command.h #include receiver.h #include iostream class ConcreteCommand1 :public Command { private:Receiver* m_pReceiver;//哪个Receiver类进行命令处理 public://构造函数传递接收者ConcreteCommand1(Receiver* receiver){m_pReceiver receiver;}//必须实现一个命令void execute(){//业务处理std::cout command1 run std::endl;m_pReceiver-doSomething();} }; class ConcreteCommand2 : public Command { private:Receiver* m_pReceiver; public:ConcreteCommand2(Receiver* receiver){m_pReceiver receiver;}void execute(){std::cout command2 run std::endl;m_pReceiver-doSomething();} }; concreteReciver.h #pragma once #include receiver.h #include iostream class ConcreteReciver1 : public Receiver {//每个接收者都必须处理一定的业务逻辑 public:void doSomething(){std::cout Reciver1 doing std::endl;} }; class ConcreteReciver2 : public Receiver {//每个接收者都必须处理一定的业务逻辑 public:void doSomething(){std::cout Reciver2 doing std::endl;} }; invoker.h #pragma once #include command.h #include iostream class Invoker { private:Command* m_pCommand; public://接受命令void setCommand(Command* command){m_pCommand command;std::cout invoker add command std::endl;}//执行命令void action(){m_pCommand-execute();std::cout invoker action command std::endl;} }; main.cpp #include concreteCommand.h #include concreteReciver.h #include invoker.h int main() {//首先声明调用者InvokerInvoker* invoker new Invoker();//定义接收者Receiver* receiver new ConcreteReciver1();Receiver* receiver2 new ConcreteReciver2();//定义一个发送给接收者的命令Command* command new ConcreteCommand1(receiver);Command* command2 new ConcreteCommand2(receiver);Command* command3 new ConcreteCommand1(receiver2);Command* command4 new ConcreteCommand2(receiver2);//把命令交给调用者去执行invoker-setCommand(command);invoker-action();invoker-setCommand(command2);invoker-action();invoker-setCommand(command3);invoker-action();invoker-setCommand(command4);invoker-action();system(pause);return 0; }
http://www.w-s-a.com/news/172354/

相关文章:

  • 个体商户建自己的网站做销售建设积分兑换官方网站
  • 网站建设与维护培训网页制作专业用语
  • 建站特别慢wordpress网页制作与设计项目策划书
  • 视频制作素材免费网站头像制作在线生成器
  • 网站建设是不是可以免费建站广州做网站 信科网络
  • 闸北区网站设计叫别人做网站后怎么更改密码
  • 为什么想做网站运营建设工程教育网站
  • 站长基地百度推广整体优化网站
  • 门窗 东莞网站建设wordpress外链论坛
  • 安徽省建设部网站官网还能用的wap网站
  • 企业网站设计开发网站关键词优化seo
  • 郑州高档网站建设台州网站建设推广
  • 广东省建设信息港网站WordPress手机缩略图设置
  • 优秀网站主题平顶山专业做网站公司
  • wordpress返回顶部插件wordpress站群seo
  • 企业网站建设报价表百度竞价托管哪家好
  • 织梦网站首页打开慢淄博网站推广那家好
  • 苏州高端网站建设kgwl互动网站建设的主页
  • 宿州网站建设哪家公司好个人网站制作方法
  • 网站正能量晚上在线观看视频站长之家关键词挖掘工具
  • 建设网站怎么判断是电脑还是手机仿租号网站源码网站开发
  • seo百度网站排名软件重庆巫山网站设计公司
  • 搭建视频播放网站网站排名诊断
  • 网站域名注册网站centos做网站服务器
  • 网站服务器共享的 vpsh5页面制作软件电脑版
  • 免费手机网站申请上海网站建设设计公司哪家好
  • 站长工具大全企业网上书店网站建设设计
  • 做网站的专业公司公司网站是做的谷歌的
  • 做网站前期工作wordpress图片并排
  • 免费注册网站哪个好wordpress评论修改