码迷,mamicode.com
首页 > 其他好文 > 详细

【设计模式】事件总线模式

时间:2020-03-23 11:26:04      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:design   监听   and   blob   模式   lob   允许   scribe   区分   

前言

事件总线模式(Event Bus Pattern)是发布/订阅模式的一种实现。它是一种集中式的事件处理机制,允许不同组件彼此通信,但又不相互依赖,实现松耦合。Grafana 开源项目的软件架构就采用了事件总线模式。

事件总线模式

技术图片

事件总线模式包含如下组件:

  • Event:不同组件间传递的数据。可广泛地说,事件可以分为三类:Event,Command 和 Request。三者的区分可以参考 Grafana 设计文档(在 Grafana 中,Request 被称为 Query)
  • Bus:各通信组件向 Bus 注册消息处理函数、事件监听器
  • Publishers:调用 Bus 的 Dispatch(或 Post 等)方法,发送事件
  • Subscribers:需要订阅事件的组件,会定义相应处理函数、事件监听器,并注册到 Bus,等待事件发生、 Bus 回调

参考资料

[1] Typical EventBus Design Patterns
[2] Grafana 源码

【设计模式】事件总线模式

标签:design   监听   and   blob   模式   lob   允许   scribe   区分   

原文地址:https://www.cnblogs.com/guangze/p/12550844.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!