如题。感觉发布订阅就是多写几次回调,或者说把订阅的函数都集合在一个回调函数中。
发布-订阅确实要多写几次回调,也确实把订阅的函数都集中处理了。但是使用回调-订阅的时候通常也是写回调函数,如果你不去深究它的设计思想的话,你就发现它和 addEventLisener 没有很大的区别。发布-订阅的设计思想就俩字解耦,就像电话线路的设计一样。使用 addEventListener 就像专线电话一样,你家里必须把 110、120、12315……还有你亲朋好友都连起来,不然就没法聊天,你可以想一下照这样做你家里得连多少条电话线,这叫耦合;但是使用一个公共的 eventBus 来实现 发布-订阅 之后,就像使用公共线路一样,只要双方约定一个号码就可以通话了,双方只与公共线路耦合,彼此是解耦的。
发布-订阅
回调-订阅
addEventLisener
addEventListener
110
120
12315
eventBus
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(1)
发布-订阅
确实要多写几次回调,也确实把订阅的函数都集中处理了。但是使用
回调-订阅
的时候通常也是写回调函数,如果你不去深究它的设计思想的话,你就发现它和addEventLisener
没有很大的区别。发布-订阅
的设计思想就俩字解耦,就像电话线路的设计一样。使用addEventListener
就像专线电话一样,你家里必须把110
、120
、12315
……还有你亲朋好友都连起来,不然就没法聊天,你可以想一下照这样做你家里得连多少条电话线,这叫耦合;但是使用一个公共的eventBus
来实现发布-订阅
之后,就像使用公共线路一样,只要双方约定一个号码就可以通话了,双方只与公共线路耦合,彼此是解耦的。