RxJava的个人概述

关于RxJava,网上已经有很多优秀的技术文章了,我当初也是看着这些上手的
先放出传送门:
给 Android 开发者的 RxJava 详解:http://gank.io/post/560e15be2dca930e00da1083
深入浅出RxJava:http://blog.csdn.net/lzyzsd/article/category/2767743
那些年我们错过的响应式编程:http://www.devtf.cn/?p=174
RxJava Essentials 中文翻译版:http://rxjava.yuxingxin.com/

然后谈谈我自己在使用RxJava后的感受:

响应式编程是一种异步数据流交互的编程范式,而RxJava就是基于事件操作异步数据流在Java上实现的库
核心的理念是将一切都当做数据流来看待,各种变量,用户输入,数据结构,缓存等等
而Rx库提供了高度抽象的函数来操作流,创建、流入流出、过滤、合并、映射等等各种变换
不仅如此,Rx库还使得异步操作,和错误处理变得非常简洁。

使用了RxJava后明显的好处就是
1解决了回调地狱(就是很多层的回调嵌套)的困扰
2切换线程变得方便
3配合Java8的新特性Retrolambda,代码会进一步简洁
更深层次的优势是,加深代码的抽象,使得我们更专注于业务逻辑而不是具体实现细节
并且事件驱动型的系统可以解耦成多个组件,使代码具有更好的扩展性和容错性

但是也有一些难处
1要用好响应式编程,就得训练好基于流的编程思维,而这与过去有着较大的差异
这会导致重构过去的代码难度较大,以及常常会因为思维转变得不纯粹而写出“半成品”
2由于Rx库的操作符高度抽象,使用是很方便但深入理解的成本会很高
3由于Rx库很抽象,很年轻,使用时会有许多需要留意的坑,加上Retrolambda会带来一些性能上的影响

但既然是优秀的东西,花些学习成本使用也是值得的

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值