js的观察者模式和订阅发布模式

联系

两种模式本质都是一样的,都是某个对象(subject, publisher)改变,使依赖于它的多个对象(observers, subscribers)得到通知。

区别

发布-订阅模式是观察者模式的一种变体。发布-订阅只是把一部分功能抽象成一个独立的ChangeManager。

主要关键点都在于注册和触发,只是订阅/发布模式对注册和触发进行了解耦。

订阅发布模式中发布者触发的时候,可以选择触发哪一些订阅者集合,而观察者模式则只能触发所有的被观察对象

适用场景

总的来说,发布-订阅模式适合更复杂的场景。

比如「一对多」「多对一」或者「多对多」场景。

posted @ 2022-04-16 09:08  下一秒钟已经不同  阅读(197)  评论(0编辑  收藏  举报