参考答案:

发布—订阅模式又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知。在JavaScript开发中,我们一般用事件模型来替代传统的发布—订阅模式。

解析:

发布订阅模式的构成

最常见的发布订阅模式就是咱们DOM事件,仔细回想一下我们要给一个按钮,绑定一个事件,当我点击按钮的时候我要让他的颜色变了,并且页面弹出一个弹出框

我们分析一下这个流程:首先,我们得知道给哪个按钮的时候绑定事件,然后我们得知道触发事件以后需要干什么?

那么在这其中谁是发布者?

是DOM中的按钮,因为是在它身上绑定了事件,当我们点击按钮的时候它便向订阅者发布了这个消息

那么谁是订阅者?

是click事件,当点击按钮时,dom发布了一条消息,而事件订阅了它,所以当它被点击的时候,订阅者会接收到消息

简单例子

上大学的时候甲要打游戏,下午的课不准备去了,然后甲跟乙说,如果下午老师问我去哪了,你就发信息告诉我。然后果然不出所料,下午老师来了,并且问了甲去哪了?然后乙发信息给甲,甲收到信息后干什么乙不知道,乙只是负责如果老师问了就发短信给甲。