zoukankan      html  css  js  c++  java
  • 设计模式之中介者模式世界拯救者!!!(十四)

    小说开始了, 一个字服

    中介者模式(Mediator Pattern): 用一个中介者来封装一系列的对象交互, 中介者使对象不需要显式的相互引用, 从而使其耦合松散. 而且可以独立的改变他们之间的交互. 中介者模式又称为调停者模式, 它是一种对象行为.

    各大门派的关系
    设计模式门派之间的关系, 现代社会人们的社交, 很多都是需要类似中介者这个类型的枢纽, 没有中介者, 之间的关系就是相当的复杂 就像公司要建个qq群, 项目要建个聊天讨论组什么的
    中介者模式就是为了解决这些问题


    中介者模式针对的问题是, 解决对象之间复杂的耦合关系, 这一系列对象往往是"多对多"的耦合关系, 中介者模式采用一个中介者对象将这一系列对象集中管理, 而各个对象也将自己与其他对象的交互行为委托给中介者处理, 从而减少这一系类对象之间的耦合
    它的优点很明显, 清除了一系列对面之间复杂的耦合关系, 并且中介者可以控制对象的行为, 统一的管理
    同样的缺点也是不可避免的: 中介者这个类本身可能比较复杂, 因为他融合了各大对象, 调解对象间的关系, 而且一旦中介者出现问题, 所有委托给中介者的类都会GG, 就像我们的网络一样.

    原文的


    这里我自己尝试画下UML

    由于画图工具中的下面的关系线条没有, 只能文字代替代替

    这里复习下以前的

    • 实线三角箭头: 继承
    • 虚线三角箭头: 实现
    • 虚线简单箭头: 依赖 A依赖于B B是A方法的参数

    • 实线简单箭头: 关联 A关联于B A中有个为B的变量

      • 空心菱形实线简单箭头: 聚合 A聚合B, 关系强的关联, A包涵了B , B还有其他的选择
      • 实心菱形实线简单箭头: 组合 A为整体 B为零件, A与B不可分

    期待下个设计故事

  • 相关阅读:
    Chapter1-data access reloaded:Entity Framework(上)
    Part1-Redefining your data-access strategy 重新定义你的数据访问策略
    ora-12541无监听的一种场景
    GridView根据一列自动计算(转载)
    百度Fex webuploader.js上传大文件失败
    JS文件中引用另一个JS文件
    连接虚拟机的SQLServer
    Spring中Bean的生命周期
    Spring中Bean的作用范围调整
    Spring中三种创建Bean对象的方式
  • 原文地址:https://www.cnblogs.com/denghailei/p/6808838.html
Copyright © 2011-2022 走看看