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

微信里的小程序怎么添加全网搜索引擎优化

微信里的小程序怎么添加,全网搜索引擎优化,检测网站的seo效果,商城免费建站系统1、中介者模式的提出 在软件组件开发过程中,如果存在多个对象,且这些对象之间存在的相互交互的情况不是一一对应的情况,这种功能组件间的对象引用关系比较复杂,耦合度较高。如果有一些新的需求变化,则不易扩展。中介者…

1、中介者模式的提出

在软件组件开发过程中,如果存在多个对象,且这些对象之间存在的相互交互的情况不是一一对应的情况,这种功能组件间的对象引用关系比较复杂,耦合度较高。如果有一些新的需求变化,则不易扩展。中介者模式可以解决这种问题。中介者模式使用一个“中介对象”去管理对象间的关联关系,这个中介对象里面定义了对象间的数据统一交互接口,解耦对象间的直接交互依赖,从而提高代码的扩展性。

2、需求描述

有2个线上人员,这两个线上人员可以相互发送和接收对象的消息。设计一个线上人员数据交互的代码,且代码架构便于扩展。

3、中介者模式的代码实现

(1)UML图如下:

 

 (2)代码实现如下:

#include <iostream>
#include <vector>class Mediator;
class OnlinerPeople
{
protected:Mediator* mediator;
public:virtual void sendMsg(std::string msg)=0;virtual void receiveMsg(std::string msg)=0;virtual ~OnlinerPeople(){};
};class Mediator
{
protected:std::vector<OnlinerPeople*>vecOnlinePeoples;
public:virtual void sendMessage(std::string msg,OnlinerPeople* pepole)=0;virtual void addOnliners(OnlinerPeople* people)=0;virtual ~Mediator(){};
};class ConcreteMediator:public Mediator
{
public:void addOnliners(OnlinerPeople* people)override{vecOnlinePeoples.emplace_back(people);};virtual void sendMessage(std::string msg, OnlinerPeople *pepole) override{for(auto it =  vecOnlinePeoples.begin();it != vecOnlinePeoples.end(); it++){if( *it != pepole){(*it)->receiveMsg(msg);}}}
};class OnlinerPeople1:public OnlinerPeople
{
public:void Init(Mediator* mediator){this->mediator = mediator;}virtual void sendMsg(std::string msg) override{std::cout << "OnlinerPeople1 sendMsg: " << std::endl;mediator->sendMessage(msg,this);}virtual void receiveMsg(std::string msg) override{std::cout << "OnlinerPeople1 receive msg: " << msg << std::endl;}
};class OnlinerPeople2:public OnlinerPeople
{
public:void Init(Mediator* mediator){this->mediator = mediator;}virtual void sendMsg(std::string msg) override{std::cout << "OnlinerPeople2 sendMsg: " << std::endl;mediator->sendMessage(msg,this);}virtual void receiveMsg(std::string msg) override{std::cout << "OnlinerPeople2 receive msg: " << msg << std::endl;}
};
class Client
{
private:Mediator* mediator{nullptr};OnlinerPeople1 people1;OnlinerPeople2 people2;
public:Client(Mediator* p){mediator = p;people1.Init(mediator);people2.Init(mediator);};void DoWork(){mediator->addOnliners(&people1);mediator->addOnliners(&people2);people1.sendMsg("hello people2");people2.sendMsg("hello people1");};
};int main()
{Mediator* mediator = new ConcreteMediator();Client obj(mediator);obj.DoWork();delete mediator;mediator = nullptr;return 0;
}

 程序运行结果如下: 

http://www.hyszgw.com/news/69929.html

相关文章:

  • 做网站是不是要备案安徽建设工程信息网招标公告
  • dede如何制作手机网站上海做网站建设公司排名
  • 东航集团客户网站是哪家公司建设企业宣传片制作app
  • 网站美术视觉效果布局设计敬请期待英文
  • 建国外网站买完域名后怎么做网站建设淘宝客模板
  • 最新的网站开发框架宁波seo外包推广软件
  • 漳州网站设计网站内部服务器错误
  • 做的网站每年需要续费东莞阳光官方网
  • 温州微网站制作公司哪家好编程机构
  • 网站建设的淘宝模板葫芦岛建设厅网站
  • 哈尔滨网站建设效果好浙江网站建设制作流程
  • 学校官网的网址seo网站关键词排名优化
  • 网站域名是什么东西今天战争最新消息新闻
  • 网络在线培训网站建设方案企业做一个网站多少钱
  • 国外有哪些网站是做弱电的安阳市商祺网络有限责任公司
  • 石家庄网站建设行业公司怎么做域名网站
  • 网站后台页面设计教程wordpress相册样式
  • 怎么让学生在网站上做问卷调查中英企业网站系统
  • 网站优化排名工具建筑建设网站建设
  • 深圳 赢客创想网络技术股份有限公司 网站建设做it软件的网站
  • 做淘宝客网站用什么程序最好做原创音乐的网站
  • 贸易公司网站设计设计医院网站建设
  • 全屏网站源码wordpress产品优惠
  • 怎样把网站做成软件自我介绍ppt模板免费
  • 网站开发售后服务协议做婚纱摄影网站价格
  • 自建站做seo网站建设项目投资测算
  • 广州网站建设 企业中小型电子商务网站有哪些
  • ios网站开发教程wordpress 免费 旅游
  • 江苏建设纸质考试网站空间设计师
  • 建设门户网站的基本意义有哪些如何写一份食品的网站建设规划