【设计模式】事件总线模式
前言
事件总线模式(Event Bus Pattern)是发布/订阅模式的一种实现。它是一种集中式的事件处理机制,允许不同组件彼此通信,但又不相互依赖,实现松耦合。Grafana 开源项目的软件架构就采用了事件总线模式。
事件总线模式
事件总线模式包含如下组件:
- Event:不同组件间传递的数据。可广泛地说,事件可以分为三类:Event,Command 和 Request。三者的区分可以参考 Grafana 设计文档(在 Grafana 中,Request 被称为 Query)
- Bus:各通信组件向 Bus 注册消息处理函数、事件监听器
- Publishers:调用 Bus 的 Dispatch(或 Post 等)方法,发送事件
- Subscribers:需要订阅事件的组件,会定义相应处理函数、事件监听器,并注册到 Bus,等待事件发生、 Bus 回调
参考资料
相关推荐
aolia000 2020-09-11
MrFuWen 2020-08-15
Timor 2020-06-25
matthewhan 2020-06-08
loveandroid0 2020-06-08
wenwst 2020-06-07
topswim 2020-06-02
地下库 2020-05-29
aolia000 2020-05-29
matthewhan 2020-05-25
wenwst 2020-05-16
kuzilala 2020-05-14
wenwst 2020-05-12
地下库 2020-05-09
wenwst 2020-04-26
wenwst 2020-04-21
topswim 2020-04-11