js中发布订阅模式和常见的回调函数有什么区别?

如题。
感觉发布订阅就是多写几次回调,或者说把订阅的函数都集合在一个回调函数中。

阅读 2.4k
1 个回答

发布-订阅确实要多写几次回调,也确实把订阅的函数都集中处理了。
但是使用回调-订阅的时候通常也是写回调函数,如果你不去深究它的设计思想的话,你就发现它和 addEventLisener 没有很大的区别。
发布-订阅的设计思想就俩字解耦,就像电话线路的设计一样。使用 addEventListener 就像专线电话一样,你家里必须把 11012012315……还有你亲朋好友都连起来,不然就没法聊天,你可以想一下照这样做你家里得连多少条电话线,这叫耦合;但是使用一个公共的 eventBus 来实现 发布-订阅 之后,就像使用公共线路一样,只要双方约定一个号码就可以通话了,双方只与公共线路耦合,彼此是解耦的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题