EventHub 粗糙实现笔记

EventHub 基本实现

  • 首先 eventHub 是模块之间进行传递的一种方式,采用发布订阅模式。关于概念好想也没啥说的。下一步就是找到 eventHub 须要实现的方法,分别是 emitonoff
  • 基本思路是,咱们有个缓存能存储监听器,当时对应的事件触发(emit)时,调用监听器就好,当想要注销事件时,off 一下就行了。

上述就是简单的实现啦,实际上咱们能够再抽象一下监听器的概念,将全部的 handler 都抽象成一个 listener ,相似于 addEventListener 同样。 git

carbon (1)
实际上到这一步,咱们很粗糙的 EventHub 算是完成了,可是咱们还能够尽可能的优化一下。

下面就是优化后的版本。 github

carbon (2)

若是,以为图太长了,能够来个人 github 瞧瞧。  缓存

相关文章
相关标签/搜索