动机:在系统构建过程中,经常出现多个对象相互关联交互的情况,对象之间常常会维持一种复杂的引用关系,面对变化能力弱。用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式的相互引用,从而使其耦合松散,而且可以独立地改变它们之间的变化。
 
场景:考虑一个文本编辑器,包含剪切菜单、粘帖按钮、文本编辑区域、剪贴板等对象,它们需要相互引用和交互。

结构
设计模式学习笔记十八——Mediator模式



代码

设计模式学习笔记十八——Mediator模式namespace DesignPattern.Mediator
}

设计模式学习笔记十八——Mediator模式namespace DesignPattern.Mediator
}


 要点: 
      1、本模式将多个对象间复杂的关联关系解耦,对多个对象间的控制逻辑进行集中管理,变“多个对象互相关联”为“多个对象和一个中介者关联”,简化了系统维护,能更好地面对变化。
      2、随着控制逻辑的复杂化,Mediator具体对象的实现可能相当复杂,这时候可对其进行分解处理。
      3、Facade模式是解耦系统外到系统内(单向)的对象关联关系;本模式是解耦系统内各个对象之间(双向)的关联关系。

相关文章:

  • 2021-09-09
  • 2021-09-30
  • 2021-10-04
  • 2021-11-17
  • 2021-05-26
  • 2021-05-07
  • 2021-06-11
猜你喜欢
  • 2022-01-22
  • 2021-05-02
  • 2021-09-22
  • 2021-12-06
  • 2021-05-28
相关资源
相似解决方案