https://github.com/sheng-jie/EventBus
C# 事件总线实现
https://github.com/sheng-jie/EventBus
csharp eventbus observer-pattern publisher-subscriber
Last synced: 11 months ago
JSON representation
C# 事件总线实现
- Host: GitHub
- URL: https://github.com/sheng-jie/EventBus
- Owner: sheng-jie
- License: mit
- Created: 2017-06-07T03:00:12.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2018-01-08T07:28:17.000Z (about 8 years ago)
- Last Synced: 2024-11-13T04:55:43.500Z (over 1 year ago)
- Topics: csharp, eventbus, observer-pattern, publisher-subscriber
- Language: C#
- Homepage: http://www.jianshu.com/p/22fbe7a7c120
- Size: 61.5 KB
- Stars: 160
- Watchers: 13
- Forks: 70
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 1. 简单介绍
事件总线这个概念对你来说可能很陌生,但提到观察者(发布-订阅)模式,你也许就很熟悉。事件总线是对发布-订阅模式的一种实现。它是一种集中式事件处理机制,允许不同的组件之间进行彼此通信而又不需要相互依赖,达到一种解耦的目的。
我们来看看事件总线的处理流程:

Event Bus就相当于一个介于Publisher和Subscriber中间的桥梁。它隔离了Publlisher和Subscriber之间的直接依赖,接管了所有事件的发布和订阅逻辑,并负责事件的中转。
# 2.实现原理
1. [事件总线知多少(1)](http://www.jianshu.com/p/22fbe7a7c120)
2. [事件总线知多少(2)](http://www.jianshu.com/p/61042d36b010)
# 3.事件总线的实现要点
1. 事件总线维护一个事件源与事件处理的映射字典;
2. 通过单例模式,确保事件总线的唯一入口;
3. 利用反射或依赖注入完成事件源与事件处理的初始化绑定;
4. 提供统一的事件注册、取消注册和触发接口。
# 4.集成消息队列
计划开发中。