[关闭]
@wy 2021-01-11T19:13:24.000000Z 字数 483 阅读 458

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

未分类


看到关于观察者模式和订阅发布模式的区别,之前理解这两种模式在本质上是一样的,没有什么区别,只是叫法不一样。

理解完区别后还依然认为它们就是一样的,只是实现方式和使用场景不同而已,不过既然有区别,就来探究一番,加深理解。

先从一张图直观感受下两者在使用流程上的区别:

观察者模式

观察者模式的定义是在对象之间定义一个一对多的依赖,当一个对象状态改变的时候,所有依赖的对象都会自动收到通知。

解决了主体对象与观察者之间功能的耦合,即一个对象状态改变给其他对象通知的问题。

这种对象与对象,有点像 商家-顾客 的关系,顾客对商家的某个商品感兴趣,就被商家拉入到群组中。有人关心鞋子,就拉入到有关鞋子的群组;有人关系裙子,就拉入到有关裙子的群组中。

这种就是商家和顾客存在一对多的依赖,同时解耦的,顾客可以自由的离群

https://molunerfinn.com/observer-vs-pubsub-pattern/#%E6%A6%82%E8%BF%B0
https://juejin.cn/post/6844903603107266567#comment

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注