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

做机械的老板都看什么网站直播平台网站建设

做机械的老板都看什么网站,直播平台网站建设,好看的免费的小说网站模板,阿里云服务器如何实现一个空间绑定两个不同主体的网站目录 1、中介者模式#xff08;Mediator Pattern#xff09;含义 2、中介者模式的UML图学习 3、中介者模式的应用场景 4、中介者模式的优缺点 #xff08;1#xff09;优点 #xff08;2#xff09;缺点 5、C实现中介者模式的实例 1、中介者模式#xff08;Media…目录 1、中介者模式Mediator Pattern含义 2、中介者模式的UML图学习 3、中介者模式的应用场景 4、中介者模式的优缺点 1优点 2缺点 5、C实现中介者模式的实例 1、中介者模式Mediator Pattern含义 中介者模式Mediator用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互吸引从而使其耦合松散而且可以独立地改变它们之间地交互。【DP】 中介者模式是一种行为型设计模式它通过引入一个中介者对象来协调多个相关对象之间的交互。中介者模式将对象之间的通信封装在中介者对象中从而降低了对象之间的耦合性。 2、中介者模式的UML图学习 中介者模式的几个角色 1中介者Mediator定义了各个相关对象之间通信的接口通常包括发送消息、注册和移除对象等方法。 2具体中介者Concrete Mediator实现中介者接口协调各个相关对象之间的通信。 3同事类Colleague定义了各个相关对象的接口包括发送消息、接收消息等方法。 4具体同事类Concrete Colleague实现同事类接口与其他同事类进行通信。 3、中介者模式的应用场景 1系统中对象之间存在复杂的交互关系导致每个对象都需要与多个其他对象进行通信。 2对象之间的交互逻辑较为复杂难以维护和理解。 3希望减少对象之间的直接依赖关系提高系统的可扩展性和灵活性。 4、中介者模式的优缺点 1优点 1减少了对象之间的直接依赖中介者模式将对象之间的通信逻辑封装在中介者对象中使得对象之间不需要直接引用彼此从而降低了对象之间的耦合性。 2简化了对象之间的交互中介者模式集中了对象之间的交互逻辑使得交互变得简单明确。 3提高了系统的可扩展性由于对象之间的通信逻辑集中在中介者对象中新增或修改一个相关对象不会影响其他对象。 2缺点 1中介者对象可能变得复杂随着系统中对象之间交互关系的增加中介者对象可能变得庞大复杂。 2违反了单一职责原则中介者对象承担了协调各个对象之间通信的责任可能导致其职责过重。 5、C实现中介者模式的实例 #include iostream #include stringclass Colleague;// 中介者接口 class Mediator { public:virtual void sendMessage(const std::string message, Colleague* colleague) 0; };// 同事类 class Colleague { protected:Mediator* mediator;public:explicit Colleague(Mediator* med) : mediator(med) {}virtual void receiveMessage(const std::string message) 0;virtual void sendMessage(const std::string message) 0; };// 具体中介者 class ConcreteMediator : public Mediator { private:Colleague* colleague1;Colleague* colleague2;public:void setColleague1(Colleague* col) {colleague1 col;}void setColleague2(Colleague* col) {colleague2 col;}void sendMessage(const std::string message, Colleague* colleague) override {if (colleague colleague1) {colleague2-receiveMessage(message);}else if (colleague colleague2) {colleague1-receiveMessage(message);}} };// 具体同事类 class ConcreteColleague1 : public Colleague { public:explicit ConcreteColleague1(Mediator* med) : Colleague(med) {}void receiveMessage(const std::string message) override {std::cout ConcreteColleague1 received: message std::endl;}void sendMessage(const std::string message) override {mediator-sendMessage(message, this);} };class ConcreteColleague2 : public Colleague { public:explicit ConcreteColleague2(Mediator* med) : Colleague(med) {}void receiveMessage(const std::string message) override {std::cout ConcreteColleague2 received: message std::endl;}void sendMessage(const std::string message) override {mediator-sendMessage(message, this);} };int main() {ConcreteMediator mediator;ConcreteColleague1 colleague1(mediator);ConcreteColleague2 colleague2(mediator);mediator.setColleague1(colleague1);mediator.setColleague2(colleague2);colleague1.sendMessage(Hello, colleague2!);colleague2.sendMessage(Hi, colleague1!);return 0; }在上述示例中我们定义了中介者接口Mediator和具体中介者ConcreteMediator以及同事类Colleague和具体同事类ConcreteColleague。通过实现这些接口和类我们可以创建一个中介者对象来协调两个同事对象之间的通信。
http://www.dnsts.com.cn/news/83501.html

相关文章:

  • 网站顶部导航代码单位网站建设费用
  • 为什么四川省建设厅网站打不开如何开网页游戏
  • 网站推广的工具南昌地宝网租房信息
  • 中国建设银行贷款网站网站设置首页连接分类页的视频教程
  • 卖游戏辅助的网站怎么建设小程序代码做网站
  • 黑龙江建设局网站东莞市专注网站建设服务机构
  • 扬州哪里做网站好90设计网首页
  • 婚礼婚庆网站建设深圳建设招标网站首页
  • 贵阳网站商城建设营销型网站的特点
  • seo网站策划书网站m3u8链接视频怎么做的
  • 网站的二维码怎么做小学校园门户网站建设方案
  • 网站建设否定关键词长沙黄花机场公众号
  • 企业网站的布局个人网页设计与实现ppt
  • 太原网站公司网站分析的优劣势
  • 淘宝购物返利网站开发wordpress文件上传管理
  • 免费制作网站和网页潍坊做网站的企业
  • 电白建设局网站docker wordpress多个
  • 可信赖的企业网站建设科技广告公司网站建设
  • 门户网站域名是什么意思深圳市空间设计有限公司
  • 做外贸需要有自己的网站吗江西建设监督网站
  • 九冶建设有限公司官方网站wordpress 支持
  • 万盛建设局官方网站织梦cms 网站计数
  • h5哪个网站可以做个人网站建设的目的
  • 安云自助建站系统源码在线看国内永久免费crm
  • 怎么做网站优化有哪些做设计交易网站有哪些内容
  • 有创意的婚纱网站模板建筑网课回放
  • 如何让各大搜索引擎识别新建网站iis5建设网站
  • 建设部网站安全考核证书查询微网站无锡
  • 长沙wap网站建设长沙网站建设流程
  • WordPress迁移网站打不开福步外贸app下载