动脑学院学习笔记-EventBus 3.0核心原理,打造事件分发框架

EventBus 解决消息事件传递,线程切换问题。订阅者模式,核心也是Hander机制。3.0加入注解,通过注册类的注解

RxBus是一个设计模式,核心原理是RxJava,链式调度,事件变换,线程切换,有入门门槛,效率比EventBus高。

1、消息传递,传统的实现方式: Intent方式 (繁琐,依赖方法),接口方式(处理单一,需要处理者的引用,面对复杂的业务,产生很多接口),广播(效率低,不安全,系统其他组件也可以接收);

2、事件变换,线程切换传统实现方式:Handler机制;

3、EventBus整个jar包100k,使用方式:

使用前:EventBus.getDefault().regeister(this);
使用注解定义事件处理方法:
@Subcrible (ThreadMode.MainThread)
public void receive(Object obj){
//必须是一个参数,多个参数会报错;多个参数时可以定义在Obj里
}
发送消息事件:
EventBus.getDefault().post(Object obj);
使用完:EventBus.getDefault().unRegister(this);

举例:求职应聘、中介、招聘公司三者之间的关系来说明设计思路。
华为(招聘公司),要把招聘信息发布到智联招聘(中介)网站上,智联会根据华为提供的招聘信息,使用容器进行存储;当求职者将自己的信息发布到智联之后,智联根据存储的华为招聘信息表,匹配相应的关键字等,从而通知华为,进行处理招聘相关事宜。

最后手写实现自己的EventBus框架。

【热门技术】EventBus 3.0,让事件订阅更简单,从此告别组件消息传

你可能感兴趣的:(Android,应用开发)