一、定义
事件总线【EventBus】,是观察者(发布-订阅)模式的一种实现。是一种集中式事件处理机制,允许不同的组件之间进行通信而又不需要相互依赖,达到解耦目的。
使用边界:Android、ios、WebQ前端等等,用于多个组件(或者界面)之间的相互通信。
优点:
- 简化应用组件间的通信;
- 解耦事件的发送者和接收着;
- 避免复杂和容易出错的依赖和生命周期问题;
- 速度快,专门为高性能优化过。
二、基础
EventBus使用了发布者/订阅者模式。
发布者通过EventBus发布事件,订阅者通过EventBus订阅事件。当发布者发布事件时,订阅该事件的订阅者的事件处理方法将被执调用。
三、代码讲解
代码下载:Gitee