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

设计资源网站大推荐百度一下你就知道主页

设计资源网站大推荐,百度一下你就知道主页,河南省建设工程招标投标协会网站,佛山营销手机网站建设c命令模式 C的命令模式是一种行为模式,通过将请求封装成对象,以实现请求发送者和接受者的解耦。 在命令模式中,命令被封装成一个包含特定操作的对象,这个对象包含的执行该操作的方法,以及一些必要的参数。命令对象可以…

c++命令模式

C++的命令模式是一种行为模式,通过将请求封装成对象,以实现请求发送者和接受者的解耦。
在命令模式中,命令被封装成一个包含特定操作的对象,这个对象包含的执行该操作的方法,以及一些必要的参数。命令对象可以被任意添加、删除或者修改,从而使得请求的发送者和接受者之间的关系变得灵活可配。
命令模式通过包含以下角色:
1.命令接口:定义了执行操作的方法;
2.具体命令:实现了命令接口,封装了具体的操作和接受者;
3.请求发送者:持有命令对象,并在需要时调用命令对象的执行方法来发起请求;
4.请求接受者:执行命令对象所指定的操作。
当请求发送者需要发送一个请求时,他创建一个具体命令对象并设置请求的接受者。然后,将命令对象传递给请求发送者,并由请求发送者调用命令对象的执行方法。命令对象会负责调用接受者的响应方法来执行请求中指定的操作。
优点:就是将请求封装成对象,提供一种灵活的方式来组织和管理请求,从而实现请求发送者和接受者之间的解耦。

代码实例

遥控器作为请求发送者,可以控制不同的家庭设备(灯,电视等),每个家庭设备都有相应的命令,每个命令包括特定的接受者。

#include<iostream>
using namespace std;
//命令接口
class Command 
{
public:virtual void execute() = 0;
};//具体命令类:扩展一个控制灯的命令
class LightCommand :public Command
{
private:class Light{public:void turnOn(){cout << "开灯" << endl;}void turnOff(){cout << "关灯" << endl;}};Light light;
public:void execute() override{light.turnOn();}
};//具体命令类:扩展一个控制电视的命令
class TVCommand :public Command
{
private:class TV{public:void turnOn(){cout << "开TV" << endl;}void turnOff(){cout << "关TV" << endl;}};TV tv;
public:void execute() override{tv.turnOn();}
};//命令发送者:遥控器
class RemoteControl
{
private:Command* command; //保存命令
public:void setCommand(Command* cmd){command = cmd;}void pressButton(){command->execute();}
};
int main()
{//创建一个遥控器:命令发送者RemoteControl rc;//创建两个命令:灯和TVLightCommand lc;TVCommand tv;//遥控器设置灯命令,然后发送rc.setCommand(&lc);rc.pressButton();//遥控器设置tv命令,然后发送rc.setCommand(&tv);rc.pressButton();
}

在这里插入图片描述

http://www.dt0577.cn/news/4213.html

相关文章:

  • 网站建设主要学什么南宁网络推广热线
  • php网站代做社区营销
  • 免费的crm软件免费seo关键词优化排名
  • 微企点建好网站后要怎么做郑州seo顾问外包
  • 做包装用哪个网站汕头seo网络推广服务
  • vue适合什么网站开发优化服务平台
  • 怎样做网站制作团队备案查询
  • 河北建设厅网站设置营销策划的十个步骤
  • 成都旅游网站建设南宁seo排名外包
  • 内蒙古做网站的公司有哪些网站seo推广哪家值得信赖
  • 正规的佛山网站建设ai智能营销系统
  • 佛山用户网站建设现在最火的推广平台有哪些
  • 微商城网站建设代理商企业网络营销推广方案策划
  • 威海做网站公司哪家好江苏搜索引擎优化
  • 个人网站网页制作湘潭网站设计
  • 网站建设 方案书什么推广方式能快速引流
  • 怎么用txt做网站2021年新闻摘抄
  • 如何做好网站seo互联网营销师国家职业技能标准
  • 网站文字很少怎么做优化深圳全网推广效果如何
  • 青岛网站制作选ls15227seo线上培训班
  • 视觉设计评价标准的要素seo如何进行优化
  • 在东营怎么建网站网站推广工具
  • 电子商务网站开发公司网站平台搭建
  • 福州市网站建设销售网络平台推广
  • 怎么在云主机上做网站最新病毒感染
  • 网站开发公司 logo网站营销方案模板
  • 苹果手机做微电影网站有哪些内容培训机构退费法律规定
  • 为什么做网站最近一周新闻大事
  • 给公司网站做seo的好处石家庄seo排名公司
  • 武汉营销型网站设计网站seo推广员招聘