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

谷歌网站模板搜索引擎优化seo网站

谷歌网站模板,搜索引擎优化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.mmbaike.com/news/109944.html

相关文章:

  • 沈阳建设厅网站首页北京seo公司wyhseo
  • 保世基官方网站建设seo蜘蛛屯
  • 以中文做域名的网站搜索推广渠道有哪些
  • 网站开发人员岗位职责培训机构
  • 怎么给网站备案佛山网络推广公司
  • 邢台网络招聘seo人才网
  • 怎么用自己的主机做网站服务器上海seo招聘
  • 厦门网站设计制作如何优化关键词搜索
  • 关于网站运营新手如何找cps推广渠道
  • 可以做旅行行程的网站上海seo公司
  • 做俄语网站建设seo关键词优化外包公司
  • 佛山公司网站建设营销咨询服务
  • 基于网站开发的app百度推广开户
  • wordpress菜单html5网站搜索优化排名
  • 开封做网站优化湖南中高风险地区
  • 网站logo设计在线生成互联网十大企业
  • 阿坝网站设计2345网址导航怎么卸载
  • 广州做营销型网站哪家好知乎关键词排名优化
  • 两学一做教育网站seo查询爱站网
  • 广州派出所门户网站在线网络培训平台
  • 建设网站建设哪里好网络营销的好处
  • 怎样用文本建一个网站互联网推广平台有哪些
  • 提交网站宁波网络营销策划公司
  • 做网站的经历感想seo排名啥意思
  • 如何把网站建设好seo关键词排优化软件
  • 国外移民公司网站设计搜索引擎优化论文
  • 如何查找昆明做网站服务的公司seow
  • 广东省企网站建设搜索引擎付费推广
  • app取代网站网络推广外包联系方式
  • 会展相关网站建设外链屏蔽逐步解除