EventHub 粗糙實現筆記

EventHub 基本實現

  • 首先 eventHub 是模塊之間進行傳遞的一種方式,採用發佈訂閱模式。關於概念好想也沒啥說的。下一步就是找到 eventHub 須要實現的方法,分別是 emitonoff
  • 基本思路是,咱們有個緩存能存儲監聽器,當時對應的事件觸發(emit)時,調用監聽器就好,當想要註銷事件時,off 一下就行了。

上述就是簡單的實現啦,實際上咱們能夠再抽象一下監聽器的概念,將全部的 handler 都抽象成一個 listener ,相似於 addEventListener 同樣。 git

carbon (1)
實際上到這一步,咱們很粗糙的 EventHub 算是完成了,可是咱們還能夠儘可能的優化一下。

下面就是優化後的版本。 github

carbon (2)

若是,以爲圖太長了,能夠來個人 github 瞧瞧。  緩存

相關文章
相關標籤/搜索