您的位置:首页 > 其它

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

2017-06-02 00:26 302 查看
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,让事件订阅更简单,从此告别组件消息传
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  框架