前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >设计模式 ☞ 行为型之中介者模式

设计模式 ☞ 行为型之中介者模式

作者头像
Demo_Null
发布2021-01-14 10:49:31
2880
发布2021-01-14 10:49:31
举报
文章被收录于专栏:Java 学习

1.1 简介

1.1.1 概述

  中介者(Mediator)模式的定义:定义一个中介对象来封装一系列对象之间的交互,使原有对象之间的耦合松散,且可以独立地改变它们之间的交互,中介者模式又叫调停模式。在现实生活中,马路上会有大量的车辆在行驶,如果仅仅只靠每个车辆之间协调,那么撞车的几率就非常高了,如果出现一个人来指挥,大家都听她的,与他一个人产生交互,那么撞车的几率是不是就减少了,这就类似与中介者模式了。

在这里插入图片描述
在这里插入图片描述

1.1.2 优缺点

优点:  ① 类之间各司其职,符合迪米特法则。  ② 降低了对象之间的耦合性,使得对象易于独立地被复用。  ③ 将对象间的一对多关联转变为一对一的关联,提高系统的灵活性,使得系统易于维护和扩展。

缺点:  ① 中介者模式将原本多个对象直接的相互依赖变成了中介者和多个同事类的依赖关系。当同事类越多时,中介者就会越臃肿,变得复杂且难以维护。

1.2 案例

  毕业之后很多同学都很久不见,同学关系常常是“网状结构”,它要求每个对象都必须知道它需要交互的对象。如果更换联系方式就需要一个一个去通知,甚至有的没有通知到,这叫作“牵一发而动全身”,非常复杂。如果有一个校友会,就可以将之前的“网状结构”改为“星形结构”,将大大降低他们之间的“耦合性”,有事只要找“中介者”校友会就可以。如下图所示就是中介者模式的结构图。

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/01/12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.1 简介
    • 1.1.1 概述
      • 1.1.2 优缺点
      • 1.2 案例
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档