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

滨城区建设局网站vi设计的目的和意义

滨城区建设局网站,vi设计的目的和意义,wordpress 增加背景图片,河北省建设机械会网站中介者模式属于行为型设计模式#xff0c;旨在减少对象之间的耦合关系#xff0c;通过引入一个中介者对象#xff0c;将对象间复杂的交互转化为中介者与对象之间的简单交互#xff0c;中介者模式实现了集中式控制#xff0c;有助于系统的维护和扩展。 以下是一个使用中介…中介者模式属于行为型设计模式旨在减少对象之间的耦合关系通过引入一个中介者对象将对象间复杂的交互转化为中介者与对象之间的简单交互中介者模式实现了集中式控制有助于系统的维护和扩展。 以下是一个使用中介者模式的示例假设有多个同事对象Colleague这些同事对象以不同方式交互为了解耦合引入一个中介者对象Mediator该中介者对象负责协调所有同事对象之间的交互如下所示 在上图中Colleague类是抽象同事类具体同事类ConcreteColleague1和ConcreteColleague2继承自该类。Mediator是抽象中介者类具体中介者类ConcreteMediator继承自该类并实现中介者的具体逻辑。 具体代码实现如下 //抽象同事类 class Colleague { public:Colleague(Mediator* mediator) : m_mediator(mediator) {}virtual void sendMsg(std::string msg) 0;virtual void receiveMsg(std::string msg) 0; protected:Mediator* m_mediator; };//具体同事类1 class ConcreteColleague1 : public Colleague { public:ConcreteColleague1(Mediator* mediator) : Colleague(mediator) {}void sendMsg(std::string msg) override{m_mediator-sendMsg(msg, this);}void receiveMsg(std::string msg) override{std::cout ConcreteColleague1 received msg: msg std::endl;} };//具体同事类2 class ConcreteColleague2 : public Colleague { public:ConcreteColleague2(Mediator* mediator) : Colleague(mediator) {}void sendMsg(std::string msg) override{m_mediator-sendMsg(msg, this);}void receiveMsg(std::string msg) override{std::cout ConcreteColleague2 received msg: msg std::endl;} };//抽象中介者类 class Mediator { public:virtual void sendMsg(std::string msg, Colleague* sender) 0; };//具体中介者类 class ConcreteMediator : public Mediator { public:ConcreteMediator() {}void sendMsg(std::string msg, Colleague* sender) override{auto iter m_colleagues.find(sender);if (iter ! m_colleagues.end()){for (auto it m_colleagues.begin(); it ! m_colleagues.end(); it){if (it-first ! iter-first){it-second-receiveMsg(msg);}}}}void addColleague(Colleague* colleague){m_colleagues[colleague] colleague;} private:std::mapColleague*, Colleague* m_colleagues; };int main() {ConcreteMediator mediator;ConcreteColleague1 colleague1(mediator);ConcreteColleague2 colleague2(mediator);mediator.addColleague(colleague1);mediator.addColleague(colleague2);colleague1.sendMsg(Hello, this is ConcreteColleague1.);colleague2.sendMsg(Hi, this is ConcreteColleague2.);return 0; }在上述代码中Colleague类是抽象同事类ConcreteColleague1和ConcreteColleague2是具体同事类它们都继承自Colleague类并实现了虚函数sendMsg和receiveMsg。Mediator是抽象中介者类ConcreteMediator是具体中介者类它们都继承自Mediator类并实现了虚函数sendMsg。 在main函数中创建了具体中介者ConcreteMediator对象以及两个具体同事ConcreteColleague1和ConcreteColleague2对象并将它们加入ConcreteMediator对象的同事列表中。接着分别调用ConcreteColleague1对象和ConcreteColleague2对象的sendMsg函数向ConcreteMediator对象发送消息最终得到正确的输出结果。 总之中介者模式通过引入中介者对象将对象间复杂的交互转化为中介者与对象之间的简单交互从而减少了对象之间的耦合关系。在实际应用中开发人员可以根据实际需要灵活使用中介者模式以获得更好的系统拓展性和可维护性。
http://www.zqtcl.cn/news/829649/

相关文章:

  • 带后台的网站模板下载wordpress文章置顶插件
  • 云阳营销型网站建设北京梵客装饰公司地址电话
  • 北京有哪些网站建设公司好网站做配置文件的作用
  • 网站制作定制做网站顾客提现金额后台
  • 歙县建设银行网站人员优化是什么意思
  • 网站建设需解决问题wp商城
  • 简单房地产网站在哪老版建设银行网站
  • 外贸网站如何做推广苏州小程序需要写网站建设方案书
  • 哪些企业会考虑做网站婚庆策划公司简介
  • php网站开发个人个人学做网站
  • php网站开发最新需求网站建设实习心得
  • 深圳公司的网站设计网页制作视频教程下载
  • 动漫网站开发优势网站做电话线用
  • 河南移动商城网站建设广州营销型企业网站建设
  • 佛山做网站公司个人账号密码网站建设
  • 做零售网站智慧建筑信息平台
  • 山西住房建设厅官方网站建设部建造师网站
  • 加大门户网站安全制度建设wordpress切换数据库
  • 百度代理服务器株洲seo优化
  • 即刻搜索网站提交入口网站中的打赏怎么做的
  • 电子商务网站建设课后作业开发公司管理制度
  • mysql同一数据库放多少个网站表优化大师windows
  • 微信小程序插件开发seo的网站建设
  • 婚纱摄影网站建设方案WordPress 同步网易博客
  • 上海长宁网站建设公司python语言基础
  • 官方网站怎样做餐饮业手机php网站
  • 网站建设企业有哪些内容十九届六中全会
  • 如何管理手机网站首页怎么建设一个社交网站
  • 网站规则山东网站备案网站
  • 成都网站制作龙兵科技做网站原型图用什么软件