热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

事件总线_设计模式事件总线模式

本文由编程笔记#小编为大家整理,主要介绍了设计模式事件总线模式相关的知识,希望对你有一定的参考价值。前言事件总线模式(EventBu
本文由编程笔记#小编为大家整理,主要介绍了设计模式事件总线模式相关的知识,希望对你有一定的参考价值。



前言

事件总线模式(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 源码


推荐阅读
author-avatar
手机用户2702933733
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有