当前位置: 首页 > 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://wiki.neutronadmin.com/news/253313/

相关文章:

  • 中国空间站扩建军人运动会官方网站建设目标
  • 国外贸易网站android开发技术有哪些
  • 杭州公积金网站查询系统国际贸易平台有哪些
  • 颍泉网站建设鲁东大学课程网站建设如何删除
  • 网站的功能设计网站建设犭金手指六六壹柒
  • 一级a做爰片拍网站广告网站设计哪家快
  • 个人 备案 多个网站wordpress增加内链
  • 旅游网站首页成都平面设计公司排行
  • 网站建设预算表样本东营智能网站设计
  • 国内网站模板网站建设教程公司
  • 用绿色做图标的网站山东济南报备小程序
  • 招远做网站案例信阳网站建设招聘
  • 有趣网站之家网站流量统计查询
  • 什么网站可以做时间加减怎样建立自己的个人网站
  • 网站开发制作全包计算机(网站建设与维护)
  • 自定义网站模块邯郸中材建设有限责任公司网站
  • pc网站平台怎样制作网页超链接
  • 苏州吴中区专业做网站three.js 做的网站
  • 网站建设实验小结免费空间访问
  • 建设网站和公告号的意义金华网站建设微信开发
  • 无锡新区企业网站推广万博法务网站
  • 优秀的电商设计网站网站开发服务器
  • 唐山网站建设开发设计公司wordpress支持哪一版本php
  • 国外做仿牌网站济南中企动力怎么样
  • 宿迁市建设局投诉网站首页网站引导页作用
  • 网站开发课程教学目标广东500强企业名单一览表
  • 学习网站建设难吗沈阳专业网站制作团队
  • 深圳自建站有哪些大公司浙江省网站域名备案
  • 网站模板下载百度云链接怎么做的wordpress 授权插件
  • 搭建网站是什么中国交通建设股份有限公司官网