中介者模式
定义:中介者模式的作用就是解除对象与对象之间的紧耦合关系。增加一个中介者对象后,
所有的相关对象都通过中介者对象来通信,而不是互相引用,所以当一个对象发生改变时,
只需要通知中介者对象即可。中介者使各对象之间耦合松散,而且可以独立地改变它们之间的交互。
中介者模式使网状的多对多关系变成了相对简单的一对多关系。
举例:
手机购买页面(颜色、数量、内存、价格)
MVC模式(控制层便是位于表现层与模型层之间的中介者。)
MVC 模式
我们应该很熟悉 MVC 三层模型实体模型(Model)、视图表现层(View)还有控制层(Control/Mediator)。
MVC 模式中的Control/Mediator 层,就是本设计模式的中介者 (它必须拿到 View 和 Model 的引用)。
手机购买页面
HTML 部分
|
|
JS部分
|
|
PS:代码来源于–腾讯.曾探《JavaScript设计模式与开发实践》,但能很好的说明中介者模式在js实际项目中的应用。
PS:这里共有手机颜色、手机内存、手机数量的选择和展示共6个对象,和一个中介者对象。
中介者必须获得这6个对象的应用,当每个对象发生变化时都需要通知中介者,中介者再来执行具体操作。