基于RxJava构建事件总线RxBus的方法技术

技术编号:20241934 阅读:24 留言:0更新日期:2019-01-29 23:13
本发明专利技术涉及软件开发领域,克服EventBus方法实现事件的通知和订阅时难以测试追踪且不能进行代码混淆问题,提出一种基于RxJava构建事件总线RxBus的方法,包括定义事件总线类,记该事件总线类为RxBus类,RxBus类里定义了生成RxBus类的实例方法、主题映射对象、注册方法、注销方法和发布事件方法;生成RxBus类的实例方法用于以单例模式生成RxBus类的实例;注册方法用于创建主题对象,建立主题对象与传入的类标志参数的联系,返回Observable对象;注销方法用于注销相关的主题对象;发布事件方法用于发布以类标志参数相对应的主题来发布内容。本发明专利技术适用于RxJava框架中事件的订阅和发布。

【技术实现步骤摘要】
基于RxJava构建事件总线RxBus的方法
本专利技术涉及软件开发领域,特别涉及一种基于RxJava构建事件总线RxBus的方法。
技术介绍
2012年Netflix为了满足他们庞大的用户群体决定重新设计架构来减少REST服务接口调用次数,取代几十次的REST服务接口的调用,让客户端自己处理需要的数据,他们决定基于客户端需求创建一个专门优化过的REST服务接口的调用。为实现该目标,他们决定尝试响应式,将.NETRx迁移到JVM上,由此RxJava诞生,RxJava是一个在JVM上实用可观测的出列来组成异步的基于事件的程序的库,采用的是响应式编程框架和观察者设计模式。现有的事件的通知和订阅采用的是EventBus来实现,该实现方法的代码阅读性较低、难以测试追踪且不能进行代码混淆。
技术实现思路
本专利技术所要解决的技术问题是:克服EventBus方法实现事件的通知和订阅时难以测试追踪且不能进行代码混淆问题,提出一种基于RxJava构建事件总线RxBus的方法。本专利技术解决上述技术问题,采用的技术方案是:基于RxJava构建事件总线RxBus的方法,包括定义事件总线类,记为RxBus类,本文档来自技高网...

【技术保护点】
1.基于RxJava构建事件总线RxBus的方法,其特征在于,包括定义事件总线类,记为RxBus类,RxBus类里定义了主题映射对象、生成RxBus类的实例方法、注册方法、反注册方法和发布事件方法;所述生成RxBus类的实例方法用于以单例模式生成RxBus类的实例;所述主题映射对象为“ConcurrentHashMap

【技术特征摘要】
1.基于RxJava构建事件总线RxBus的方法,其特征在于,包括定义事件总线类,记为RxBus类,RxBus类里定义了主题映射对象、生成RxBus类的实例方法、注册方法、反注册方法和发布事件方法;所述生成RxBus类的实例方法用于以单例模式生成RxBus类的实例;所述主题映射对象为“ConcurrentHashMap<Object,List<Subject>>”类型的对象,记为subjectMapper;所述注册方法包括:将所述注册方法的形式参数中的类标志作为参数来调用subjectMapper的get方法获得对应的List<Subject>类型的数组列表;若所述数组列表为空,则创建该数组列表,并将传入的类标志参数和数组列表存入subjectMapper;创建新的PublishSubject对象并将其转换为SerializedSubject对象,将SerializedSubject对象加入数组列表,返回该SerializedSubject对象并将其转换为Observable对象;所述反注册方法包括:将所述反注册方法的形式参数中的Object类型的类标志作为参数来调用subjectMapper的get方法获得对应的List<Subject>类型的数组列表,如果该数组列表不为空,则所述数组列表移除所述反注册方法的形式参数中的Observable类...

【专利技术属性】
技术研发人员:胡敏
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1