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

郑州seo网络营销网站seo服务公司

郑州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.hkea.cn/news/505757/

相关文章:

  • 常熟网站制作找哪家好品牌型网站制作价格
  • 怎么做自己网站推广网络广告
  • 化州网站建设促销方法100种
  • 长沙专业网站设计平台新闻最新消息10条
  • 惠州网站建设制作宣传推广方案
  • 宁波网站推广外包服务长岭网站优化公司
  • 哈尔滨市哪里做淘宝网站seo课程心得体会
  • 做网站建设公司企业一个企业该如何进行网络营销
  • 移动端h5网站开发服务企业seo推广
  • 管理公司网站建设引擎搜索优化
  • 上市公司专利查询网站百度广告投放价格
  • html5电商网页制作网站怎么seo关键词排名优化推广
  • 大同网站建设黄冈网站推广优化找哪家
  • 昌邑网站建设站长之家网站排名
  • 建设企业网站的需求分析免费域名
  • 重庆欧勒精细有限公司网站策划书百度竞价推广开户
  • 怎么做一键添加信任网站ios aso优化工具
  • ps做网站的分辨率多少钱苹果cms永久免费建站程序
  • 网站推广积分常用于网站推广的营销手段是
  • wordpress时间云储存沈阳网站制作优化推广
  • h5响应式网站建设竞价托管哪家效果好
  • 企业解决方案参考网站品牌软文营销案例
  • 做淘客要有好的网站上海百度seo
  • 网站建设 seojsc宁德seo推广
  • 建立网站的作用信息流优化师工作总结
  • 如何建设物流网站近期时事新闻
  • 网站开发大赛发言稿网址搜索
  • 论坛类型的网站怎么做拉新推广平台有哪些
  • pc官方网站视频专用客户端app
  • 成都哪家做网站建设比较好搜索关键词排名查询