九折技术 九折技术
首页
  • Go
  • MIT-6824
  • 算法与数据结构
  • 面向对象
  • 代码整洁
  • 重构
  • 设计模式
  • 学习
  • 技术
  • 人文
关于
  • 网站
  • 资源
  • 分类
  • 标签
  • 归档
GitHub

HoldDie

长期有耐心,一切才刚刚开始!
首页
  • Go
  • MIT-6824
  • 算法与数据结构
  • 面向对象
  • 代码整洁
  • 重构
  • 设计模式
  • 学习
  • 技术
  • 人文
关于
  • 网站
  • 资源
  • 分类
  • 标签
  • 归档
GitHub
  • 代码整洁

  • 重构

  • 设计模式

    • 创建型-单例模式
    • 创建型-工厂模式
    • 创建型-建造者模式
    • 创建型-原型模式
    • 结构型-代理模式
    • 结构型-桥接模式
    • 结构型-装饰器模式
    • 结构型-适配器模式
    • 结构型-门面模式
    • 结构型-组合模式
    • 结构型-享元模式
    • 行为型-观察者模式
    • 行为型-模板模式
    • 行为型-策略模式
    • 行为型-责任链模式
    • 行为型-状态模式
    • 行为型-迭代器模式
    • 行为型-访问者模式
    • 行为型-备忘录模式
    • 行为型-命令模式
    • 行为型-解释器模式
    • 行为型-中介模式
    • 架构
    • 设计模式
    holddie
    2020-11-24

    行为型-中介模式

    # 中介模式

    • Mediator Design Pattern
    • 中介模式定义了一个单独的(中介)对象,来封装一组对象间的交互,将这组对象之间的交互委派给与中介对象交互,来避免对象之间的直接交互。
    • 中介模式的设计思想跟中间层很像,通过引入中介这个中间层,将一组对象之间的交互关系(或者说依赖关系)从多对多(网状关系)转换为一对多(星状关系)。原来一个对象要跟 n 个对象交互,现在只需要跟一个中介对象交互,从而最小化对象之间的交互关系,降低了代码的复杂度,提高了代码的可读性和可维护性。

    4376d541bf17a029f37aa76009ef3a9f

    中介模式 VS 观察者模式

    • 观察者模式:
      • 在单进程中,需要观察者注册到被观察者中,被观察者状态更新需要调用观察者的 update 方法。
      • 在跨进程中,可以利用消息队列实现彻底解耦,观察者和被观察者只需要跟消息队列交互,观察者完全不知道被观察者的存在。
      • 尽管一个参与者既可以是观察者,同时也可以是被观察者,但大部分情况下交互往往都是单向的。
    • 中介模式
      • 只要当参与者之间的交互关系错综复杂,维护成本很高的时候,我们考虑使用中介模式。
      • 如果一个参与者状态的改变,其他参与者执行的操作有一定先后顺序的要求,这个时候,中介模式就可以利用中介类,通过先后调用不同参与者的方法,来实现顺序的控制,而观察者模式是无法实现这样的顺序要求的。
    编辑
    #中介模式
    上次更新: 2020/11/29, 15:11:00
    行为型-解释器模式

    ← 行为型-解释器模式

    最近更新
    01
    行为型-访问者模式
    11-24
    02
    行为型-备忘录模式
    11-24
    03
    行为型-命令模式
    11-24
    更多文章>
    Theme by Vdoing | Copyright © 2019-2020 HoldDie | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式