中介者模式(Mediator Pattern): 用一个中介者来封装一系列的对象交互, 中介者使对象不需要显式的相互引用, 从而使其耦合松散. 而且可以独立的改变他们之间的交互. 中介者模式又称为调停者模式, 它是一种对象行为.
设计模式门派之间的关系, 现代社会人们的社交, 很多都是需要类似中介者这个类型的枢纽, 没有中介者, 之间的关系就是相当的复杂就像公司要建个qq群, 项目要建个聊天讨论组什么的
中介者模式就是为了解决这些问题
中介者模式针对的问题是, 解决对象之间复杂的耦合关系, 这一系列对象往往是"多对多"的耦合关系, 中介者模式采用一个中介者对象将这一系列对象集中管理, 而各个对象也将自己与其他对象的交互行为委托给中介者处理, 从而减少这一系类对象之间的耦合
它的优点很明显, 清除了一系列对面之间复杂的耦合关系, 并且中介者可以控制对象的行为, 统一的管理
同样的缺点也是不可避免的: 中介者这个类本身可能比较复杂, 因为他融合了各大对象, 调解对象间的关系, 而且一旦中介者出现问题, 所有委托给中介者的类都会GG, 就像我们的网络一样.
这里我自己尝试画下UML
由于画图工具中的下面的关系线条没有, 只能文字代替代替
这里复习下以前的
- 实线三角箭头: 继承
- 虚线三角箭头: 实现
虚线简单箭头: 依赖 A依赖于B B是A方法的参数
实线简单箭头: 关联 A关联于B A中有个为B的变量
- 空心菱形实线简单箭头: 聚合 A聚合B, 关系强的关联, A包涵了B , B还有其他的选择
- 实心菱形实线简单箭头: 组合 A为整体 B为零件, A与B不可分
期待下个设计故事