中介者模式可以简单理解为有一个中心化的“软件实体”来负责处理来自许多地方提出的需求。

概念​

中介者模式(mediator)最主要的目的就是要解除这些物件彼此之间的紧密耦合,让所有的模组彼此间的沟通都透过 mediator 来进行,而不是直接相互引用。因此当有一个物件需要改动时,不需要改动到其他模组,只需要改动此中介者即可。

以上图为例,如果 A 模组有更动时,需要连带更新 D、E、F 这几个模组的使用方式。但若透过中介者模式,所有模组间的沟通都是透过 mediator 时,因此当 A 模组更新时,只需更动 mediator 即可,不需要修改 D、E、F 的使用方式:

生活中有非常多这种中介者模式的概念,例如银行的放贷就属于这种,许多人把钱存放在银行,银行在把这些人的钱借给需要的人,而不是以 P2P 的方式借款;或者是 B2C 的电商平台也都是类似的概念,不是让交易者直接私下交易,而是透过平台来促成交易。