标签:更新 线程 fragment 入口 相互 反射 注册 and ima
事件总线模式
事件总线定义:事件总线是对发布-订阅模式的一种实现。它是一种集中式事件处理机制,允许不同的组件之间进行彼此通信而又不需要相互依赖,达到一种解耦的目的。
事件总线的处理流程:
发布订阅模式主要有两个角色:
发布订阅模式有两种实现方式:
总的来说,发布订阅模式中有两个关键字,通知和更新。
被观察者状态改变通知观察者做出相应更新。
解决的是当对象改变时需要通知其他对象做出相应改变的问题。
如果画一个图来表示这个流程的画,图形应该是这样的:
Event Bus就相当于一个介于Publisher和Subscriber中间的桥梁。它隔离了Publlisher和Subscriber之间的直接依赖,接管了所有事件的发布和订阅逻辑,并负责事件的中转。分析一下,如果EventBus要接管所有事件的发布和订阅,那它则需要有一个容器来记录事件源和事件处理。那又如何触发呢?有了事件源,我们就自然能找到绑定的事件处理逻辑,通过反射触发
EventBus是Android下高效的发布/订阅事件总线机制。作用是可以代替传统的Intent,Handler,Broadcast或接口函数在Fragment,Activity,Service,线程之间传递数据,执行方法。特点是代码简洁,是一种发布订阅设计模式(Publish/Subsribe),或称作观察者设计模式
1.事件总线维护一个事件源与事件处理的映射字典;
2.通过单例模式,确保事件总线的唯一入口;
3.利用反射完成事件源与事件处理的初始化绑定;
4.提供统一的事件注册、取消注册和触发接口。
标签:更新 线程 fragment 入口 相互 反射 注册 and ima
原文地址:https://www.cnblogs.com/dk1203573488/p/9068374.html