1.引言
事件总线是对发布-订阅模式的一种实现,它是一种集中式事件处理机制。
允许不同的组件之间进行彼此通信而又不需要相互依赖,达到一种解耦的目的。
事件总线处理流程
Pulishers -> Events -> Event Bus -> Events -> Subscribers
2.事件本质
2.1 事件是由事件源和事件处理组成
事件源 发出事件的对象
事件处理器 对事件的处理
2.2 发布订阅模式
定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。
发布订阅模式主要有两个角色:
发布方(Publisher):也称为被观察者,当状态改变时负责通知所有订阅者。
订阅方(Subscriber):也称为观察者,订阅事件并对接收到的事件进行处理。
发布订阅模式有两种实现方式:
简单的实现方式:由Publisher维护一个订阅者列表,当状态改变时循环遍历列表通知订阅者。
委托的实现方式:由Publisher定义事件委托,Subscriber实现委托。
总的来说,发布订阅模式中有两个关键字,通知和更新。
被观察者状态改变通知观察者做出相应更新。
目的 当对象改变时需要通知其他对象做出相应改变的问题。