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

南漳做网站crm系统网站

南漳做网站,crm系统网站,h5怎么设计网页,wordpress用户设置1、中介者模式的提出 在软件组件开发过程中#xff0c;如果存在多个对象#xff0c;且这些对象之间存在的相互交互的情况不是一一对应的情况#xff0c;这种功能组件间的对象引用关系比较复杂#xff0c;耦合度较高。如果有一些新的需求变化#xff0c;则不易扩展。中介者…1、中介者模式的提出 在软件组件开发过程中如果存在多个对象且这些对象之间存在的相互交互的情况不是一一对应的情况这种功能组件间的对象引用关系比较复杂耦合度较高。如果有一些新的需求变化则不易扩展。中介者模式可以解决这种问题。中介者模式使用一个“中介对象”去管理对象间的关联关系这个中介对象里面定义了对象间的数据统一交互接口解耦对象间的直接交互依赖从而提高代码的扩展性。 2、需求描述 有2个线上人员这两个线上人员可以相互发送和接收对象的消息。设计一个线上人员数据交互的代码且代码架构便于扩展。 3、中介者模式的代码实现 1UML图如下 2代码实现如下 #include iostream #include vectorclass 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::vectorOnlinerPeople*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.huolong8.cn/news/253313/

相关文章:

  • wap网站前台模板怎样制作单页网站
  • 庐江有做网站的吗高端创意网站建设
  • 学院网站建设目的太原网站建设公司
  • 做队徽的网站电脑上怎么重新安装wordpress
  • 哈尔滨餐饮网站建设移动网站开发流行
  • nodejs网站开发实例PHP网站开发常用函数
  • 网站建设与管理专业好不好就业搜索引擎优化seo应用
  • 成都新津县建设网站泸州工投建设集团有限公司网站
  • 建设一个视频网站襄阳谷城网站建设
  • 网站建设与维护面试自建电商网站销售商品
  • 自己做网站好做么typecho wordpress
  • 网站做qq链接代码网站建设完工后在什么科目核算
  • 松江郑州阳网站建设酒店找人做网站
  • 云主机 网站吗wap浏览器设置
  • 浦东新区做网站公司北京企业建站团队
  • 靖江有哪些做网站的百度快照 查看指定网站
  • 郑州网络推广联系方式青岛网站seo价格
  • 怎么查看一个网站做的外链视频网站备案
  • 河南专业网站建设公司排名网站制作教程 pdf下载
  • pc 移动 网站开发ios定制微信免费下载
  • 怎样申请注册公司网站电商网站 app
  • 山东通信局报备网站佛山网上房地产官网
  • 那个公司做的网站详情页好看pc网站建设怎么弄
  • 网站商城建设方式响应式网站科技
  • 哪些网站做京东的团购wordpress 块引用
  • 营销网站建设公司地址网页设计与网站建设课程总结
  • 怎么加快登录网站速度电商网站开发常用代码
  • 乐山住房和城乡建设厅网站网站建设设计技术方案模板下载
  • 树莓派做网站服务器转塘有做网站的吗
  • 长春网站提升排名龙岗营销网站建设