中介者模式
1.定义:用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示的相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。
2.主要目的:
中转作用,通过中介者和其他对象进行通信;协调作用,中介者可以进一步的对对象之间的关系进行封装
中介者对象不能订阅消息,只有活跃对象才可订阅中介者的消息,中介者是消息的发送者
文章图片
3.举例:购物车需求,比如购买手机时,购物车页面存在手机内存、颜色、购买数量等表单项,都会触发change事件,那么可以通过中介者来转发处理这些事件,实现各个事件间的解耦,仅仅维护中介者对象即可。
中介者模式demo - 锐客网
请选择颜色
请选择内存:
请输入购买数量:
您选择的颜色为:
您选择的内存为:
您选择的数量为:
4.优缺点:
优点:
中介者使各对象之间耦合松散,而且可以独立地改变它们之间的交互
中介者和对象一对多的关系取代了对象之间的网状多对多的关系
让每个对象了解最少的内容,这样做对于大型程序来说是非常有益的
缺点:
一个中介者如果管理的对象过多,可能会导致中介者本身难以维护,过度集中化,容易出现故障
【中介者模式】5.应用场景
(1)数据驱动:数据充当中介者角色,通过数据让各ui之间协同工作。
(2)当一个系统对象很多,且之间关联关系很复杂,交叉引用容易产生混乱时适合用中介者模式重构
推荐阅读
- 盖一座房
- 涉毒患者(新诗)
- “精神病患者”的角度问题
- 雅集
- 漫画初学者如何学习漫画背景的透视画法(这篇教程请收藏好了!)
- 如果你是一名工作乐之者,996的工作又算得了什么()
- 《卓有成效的管理者》第二十二堂课(创造英雄)
- 过眼烟云自痴一一读《做洁白芳香的女人》有感一作者梦的衣裳
- 营养基础学20180331(课间随笔)??
- 一半是舞者,一半是军人|一半是舞者,一半是军人 ——读《芳华》有感