@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