中介者模式(调停者模式)
通过一个问题引入:进销存管理
有3个模块,采购管理、销售管理、存货管理。
采购管理:根据销售状况进行采购(依赖销售管理);采购时考虑库存容量,修改库存(依赖存货管理)
销售管理:销售时,会修改库存的值(依赖存货管理),如果库存不够,需要通知采购管理模块进行采购(依赖销售管理)
存货管理:库存数量过多时,如果销售状况不佳(依赖销售管理),则降低采购数量(依赖采购管理)
画个类图:
可以看到,这三个类的耦合度很高,而且关系很复杂,在样的情况下,如果要进行修改或者改进,风险是很高的,那怎么降低类之间的耦合呢?想象一下网络拓扑结构中的星型结构,计算机间交流的时候,通过交换机进行交流,而不是计算机之间直接相连。如果直接相连,想要进行扩展的时候,比如说要加一台计算机,就需要连接很多的线,但是,使用交换机的情况下只需要把新来的计算机连接到交换机上就可以,至于交换机怎么把消息发给其他计算机,不归计