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