使用场景解除对象与对象之间的紧耦合关系,就叫做中介者模式。
比如我们要做一个购买手机的页面,正常的购买流程是:选择了储存容量和套餐类型之后,才会展示手机价格。
例子:
价格:
上面的例子中,尽管我们实现了功能,但是两个下拉框的联系很密切,试想,如果此时又增加了一个下拉框,代表手机的颜色,那么原有的两个事件处理程序,都要面临修改。
此时,就比较适合引入中介者模式,让两个下拉框解耦,而它们的依赖关系交由中介者去维护。
例子:
价格:
重构后的代码,无论是新增下拉框还是修改下拉框,我们仅仅需要改动中介者方法里的代码即可。
如有错误,欢迎指正,本人不胜感激。



