欢迎光临散文网 会员登陆 & 注册

设计模式:中介者模式

2022-05-10 10:06 作者:做架构师不做框架师  | 我要投稿

什么是中介者模式

中介者模式(Mediator Pattern),是为了“定义一个封装了对象间交互关系的对象”。这种方式避免了显示调用其他类,促进了类间的松耦合,并且使得类间交互关系本身可以单独修改。又叫调停模式

一句话归纳

朋友圈:统一管理网状资源

代码

一说到中介,我们自然而然地会想起来“房地产中介”,毕竟多数的大学生毕业后都会从租房开始,就会和房地产中介打交道,学会毕业后的第一堂课,当然了,家境殷实,每个城市都有房子的除外……

房东通过中介把自己名下几百套房产都出租,租客通过中介找一个房子住,而中介手里会有很多房东和租客的资源。

适用性

以下场景我建议你考虑使用

  • N个对象之间产生了相互的依赖关系(N>2)。比如机场调度中心、MVC框架、媒体网关、中介服务。

  • 多个对象有依赖关系,但是依赖的行为尚不确定或者有发生改变的可能,在这种情况下一般建议采用中介者模式,降低变更引起的风险扩散。

  • 产品开发。一个明显的例子就是MVC框架,把中介者应用到产品中,可以提升产品的性能和扩展性,但是对项目开发就未必,因此项目是以交付投产为目标,而产品则是以稳定、高效、扩展为宗旨。

局限性

以下场景我建议你谨慎使用

  • 中介者会庞大,变得复杂难以维护,同事类越多,中介者逻辑越复杂。

注意

为什么同事类要使用构造函数注入中介者,而中介者可以使用getter/setter方式注入同事类呢?这是因为同事类必须有中介者,而中介者却可以只有部分同事类

写在最后

好兄弟可以点赞并关注我的公众号“javaAnswer”,全部都是干货。


设计模式:中介者模式的评论 (共 条)

分享到微博请遵守国家法律