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

廊坊webseo全网图文推广

廊坊web,seo全网图文推广,怎么制作微信小程序商城,中关村在线手机论坛在中介者模式中&#xff0c;中介者对象负责协调多个对象之间的交互&#xff0c;将对象之间的耦合度降低。 #include <iostream> #include <string> #include <vector>class Colleague;// 中介者接口 class Mediator { public:virtual void sendMessage(Coll…

在中介者模式中,中介者对象负责协调多个对象之间的交互,将对象之间的耦合度降低。

#include <iostream>
#include <string>
#include <vector>class Colleague;// 中介者接口
class Mediator
{
public:virtual void sendMessage(Colleague *sender, const std::string &message) = 0;
};// 同事类
class Colleague
{
protected:Mediator *mediator;std::string name;public:Colleague(Mediator *mediator, const std::string &name) : mediator(mediator), name(name) {}virtual void receiveMessage(const std::string &message) = 0;virtual void sendMessage(const std::string &message) = 0;
};// 具体同事类A
class ConcreteColleagueA : public Colleague
{
public:ConcreteColleagueA(Mediator *mediator, const std::string &name) : Colleague(mediator, name) {}void receiveMessage(const std::string &message) override{std::cout << "ConcreteColleagueA " << name << " received message: " << message << std::endl;}void sendMessage(const std::string &message) override{mediator->sendMessage(this, message);}
};// 具体同事类B
class ConcreteColleagueB : public Colleague
{
public:ConcreteColleagueB(Mediator *mediator, const std::string &name) : Colleague(mediator, name) {}void receiveMessage(const std::string &message) override{std::cout << "ConcreteColleagueB " << name << " received message: " << message << std::endl;}void sendMessage(const std::string &message) override{mediator->sendMessage(this, message);}
};// 具体中介者类
class ConcreteMediator : public Mediator
{
private:std::vector<Colleague *> colleagues;public:void addColleague(Colleague *colleague){colleagues.push_back(colleague);}void sendMessage(Colleague *sender, const std::string &message) override{for (Colleague *colleague : colleagues){if (colleague != sender){colleague->receiveMessage(message);}}}
};int main()
{ConcreteMediator mediator;ConcreteColleagueA colleagueA(&mediator, "A");ConcreteColleagueB colleagueB(&mediator, "B");mediator.addColleague(&colleagueA);mediator.addColleague(&colleagueB);colleagueA.sendMessage("Hello from A");colleagueB.sendMessage("Hi from B");return 0;
}

运行结果:

ConcreteColleagueB B received message: Hello from A
ConcreteColleagueA A received message: Hi from B

在上述代码中,Mediator是中介者接口,定义了发送消息的方法。Colleague是同事类,定义了接收消息和发送消息的方法。ConcreteColleagueA和ConcreteColleagueB是具体的同事类,实现了同事接口。ConcreteMediator是具体的中介者类,实现了中介者接口,并维护了同事对象的列表。在main函数中,我们创建了中介者对象和两个具体同事对象,并将同事对象添加到中介者中。然后,同事对象可以通过中介者来发送消息,并且中介者会将消息传递给其他同事对象。输出结果将显示同事对象之间的交互。

http://www.yidumall.com/news/16929.html

相关文章:

  • 西峡网站优化百度谷歌seo优化
  • 手机端网站制作教程网页搜索排名提升
  • 做门户网站的公司有网站模板怎么建站
  • 做视频网站插入视频教程线下推广方法有哪些
  • 怎么样网站吸引人广东最新新闻
  • 网站做订购杭州seo运营
  • 网络营销网站建设案例软文编辑
  • 呼和浩特建设厅官方网站怎么注册自己的网站
  • wordpress用户调用手机网站seo免费软件
  • 网站外包怎么做石家庄关键词优化报价
  • 面试建设单位在哪个网站seo优化价格
  • 网站关键词收入软件词语搜索排行
  • 山东做网站建设公司哪家好网站怎么做出来的
  • 做家教有什么好的资料网站网络网站
  • 注册网站需要多少找精准客户的app
  • 工信部网站备案怎么查seo快速入门教程
  • 爱情表白制作网页的网站百度网站提交入口网址
  • 网站开发功能ppt网站搜索优化公司
  • WordPress tips青岛网络seo公司
  • 网站是什么软件百度系app有哪些
  • 凡客建站登陆百度关键词价格查询软件
  • 有创意做网站找投资四川seo
  • 盐城网站开发效果百度站长平台
  • seo关键字优化软件如何做好关键词的优化
  • 营销型网站定位广告投放平台排名
  • 深圳做网站制作广告推广赚钱
  • 上海网站开发公司外包搜索大全浏览器
  • 重庆电力建设公司网站搜索引擎平台排名
  • 网站备案帐号是什么意思聊城seo
  • 网页设计共享网站重庆好的seo平台