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

1.观察者模式是高耦合,,目标和观察者是直接联系起来的,基于对象

2.发布订阅模式中,双方不知道对方的存在,而观察者模式中,基于自定义事件

3.观察者模式与发布订阅模式都是定义了一个一对多的依赖关系,当有关状态发生变更时则执行相应的更新。

4.不同的是,在观察者模式中依赖于 Subject 对象的一系列 Observer 对象在被通知之后只能执行同一个特定的更新方法,而在发布订阅模式中则可以基于不同的主题去执行不同的自定义事件。

相对而言,发布订阅模式比观察者模式要更加灵活多变。观察者模式和发布订阅模式本质上的思想是一样的,而发布订阅模式可以被看作是观察者模式的一个进阶版。

猜你喜欢

转载自www.cnblogs.com/liuhp/p/12221144.html
今日推荐