Emove

  • 首页
  • 归档
  • 分类
  • 标签

  • 搜索
context 反射 channel LRU BeanDefinition JVM 装饰者模式 MyBatis 快慢指针 归并排序 链表 hash表 栈 回溯 贪心 主从复制 二分查找 双指针 动态规划 AOF RDB 规范 BASE理论 CAP B树 RocketMQ Sentinel Ribbon Eureka 命令模式 访问者模式 迭代器模式 中介者模式 备忘录模式 解释器模式 状态模式 策略模式 职责链模式 模板方法模式 代理模式 享元模式 桥接模式 外观模式 组合模式 适配器模式 建造者模式 原型模式 工场模式 单例 UML 锁 事务 sql 索引

中介者模式

发表于 2020-04-04 | 分类于 设计模式 | 17 | 阅读次数 127

中介者模式

基本介绍

  1. 中介者模式(Mediator),用一个中介对象来封装一系列的对象交互。中介者使各个对象不需要显式的相互引用,从而使其耦合松散,而且可以独立的改变他们之间的交互
  2. 中介者模式属于行为型模式,使代码易于维护
  3. 比如MVC模式,Controller是Model和View的中介者,在前后端交互时起到了中间人的作用

原理说明

中介者模式原理图

  1. Mediator:就是抽象中介者,定义了同事对象到中介者对象的接口
  2. Colleague:抽象同事类(也可以理解为子系统)
  3. ConcreteMediator:具体的中介者对象,实现抽象方法,它需要知道所有的具体的同事类,并接受某个对象的消息,完成相应的任务
  4. ConcreteColleague:具体的同事类,可能会有很多,每个同事只知道自己的行为,而不了解其他同事类的行为(方法),但是它们都依赖中介者对象

注意事项和细节

  1. 多个类相互耦合,会形成网状结构,使用中介者模式将网状结构分离为星状结构,进行解耦
  2. 减少类间依赖,降低了耦合,符合迪米特法则
  3. 中介者承担了较多的责任,一旦中介者出现了问题,整个系统就会收到影响
  4. 如果设计不当,中介者本身会变得相当复杂,这点要特别注意
# context # 反射 # channel # LRU # BeanDefinition # JVM # 装饰者模式 # MyBatis # 快慢指针 # 归并排序 # 链表 # hash表 # 栈 # 回溯 # 贪心 # 主从复制 # 二分查找 # 双指针 # 动态规划 # AOF # RDB # 规范 # BASE理论 # CAP # B树 # RocketMQ # Sentinel # Ribbon # Eureka # 命令模式 # 访问者模式 # 迭代器模式 # 中介者模式 # 备忘录模式 # 解释器模式 # 状态模式 # 策略模式 # 职责链模式 # 模板方法模式 # 代理模式 # 享元模式 # 桥接模式 # 外观模式 # 组合模式 # 适配器模式 # 建造者模式 # 原型模式 # 工场模式 # 单例 # UML # 锁 # 事务 # sql # 索引
迭代器模式
备忘录模式
  • 文章目录
  •   |  
  • 概览
林亦庭

林亦庭

less can be more

87 文章
11 分类
54 标签
RSS
Github
Creative Commons
© 2021 林亦庭
粤ICP备20029050号