知识卡片

蜘蛛网状耦合是引入中介者模式的信号

普通读书笔记卡 · 1987

内容

进销存系统的采购、销售、库存三模块彼此都直接互相调用,这种”每个对象都要和其他几个对象 交流”的结构画出类图呈蜘蛛网状,维护成本随对象数量急剧上升。解法借鉴星型网络拓扑:引入 中介者对象,让原本互相依赖的模块只依赖中介者。发散:识别标准不是”有依赖就该用中介者”, 而是”依赖连线数量随对象数呈平方级增长、开始像蜘蛛网”时才该引入。

参考来源

- 位置:《设计模式之禅(第2版)》第14章《中介者模式》(源文件:_epub-src/text/part0062.html) - 结论依据:原文展示进销存三模块相互调用产生的耦合,扩展后呈现"蜘蛛网结构",并借用星型网络拓扑"每个计算机通过交换机和其他计算机进行数据交换,各个计算机之间并没有直接出现交互"的思路,引入中介者让各模块只依赖中介者。 - 原始内容:这是一个蜘蛛网的结构,别说是编写程序了,就是给人看估计也能让一大批人昏倒!……加入了一个中介者作为三个模块的交流核心,每个模块之间不再相互交流,要交流就通过中介者进行。