初步认识RXJava

作者: LeoFranz | 来源:发表于2019-10-19 11:53 被阅读0次

前言:面向对象变成是命令式编程的一种,面向计算机硬件的抽象,有变量、赋值、表达式和控制语句。函数式编程是面向数学的抽象,将计算描述为表达式求值。响应式编程时一种面向数据流和变化流的编程范式,数据跟新是相互关联的,函数式编程和响应式编程整合起来就是函数响应式编程。当下有两种函数响应式编程框架,其一是RXJava,另一个是Agera。将一系列的操作符链接起来就可以完成复杂的逻辑。代码被分解成一系列可以组合的片段。这就是响应式函数编程的魅力

RxJava最核心的两个东西是Observables(被观察者,事件源)和Subscribers(观察者)。Observables发出一系列事件,Subscribers处理这些事件。这里的事件可以是任何你感兴趣的东西(触摸事件,web接口调用返回的数据。。。)

一个Observable可以发出零个或者多个事件,直到结束或者出错。每发出一个事件,就会调用它的Subscriber的onNext方法,最后调用Subscriber.onNext()或者Subscriber.onError()结束。

Rxjava的看起来很想设计模式中的观察者模式,但是有一点明显不同,那就是如果一个Observerble没有任何的的Subscriber,那么这个Observable是不会发出任何事件的。

设计特点
1、 Observable可以是一个数据库查询,Subscriber用来显示查询结果;Observable可以是屏幕上的点击事件,Subscriber用来响应点击事件;Observable可以是一个网络请求,Subscriber用来显示请求结果。按理来说SubScriber越简单越好,因为可能会在主线程中运行,而且他的核心功能时响应而不是修改。

2、Subscriber并不知道操作流对数据的处理,它只知道自己接受一个Observable对象。

3、Observerable对象流不需要知道如何处理错误,完全交由Subscriber处理

4、你可以使用subscribeOn()指定观察者代码运行的线程,使用observerOn()指定订阅者运行的线程

5、当调用Observable.subscribe(),会返回一个Subscription对象,你可以在后面使用这个Subscription对象来操作被观察者和订阅者之间的联系。此外需要注意内存泄露。

demo地址 https://github.com/LeeFranz/Android-Network/tree/master/RxJavaTest

参考文章:
https://blog.csdn.net/lzyzsd/article/details/41833541
https://blog.csdn.net/lzyzsd/article/details/44094895
https://blog.csdn.net/lzyzsd/article/details/44891933
https://blog.csdn.net/lzyzsd/article/details/45033611

相关文章

  • 初步认识RXJava

    前言:面向对象变成是命令式编程的一种,面向计算机硬件的抽象,有变量、赋值、表达式和控制语句。函数式编程是面向数学的...

  • Rxjava系列(六) RxJava2.0操作符详解

    Rxjava2.0概述 通过前面的文章介绍,读者对RxJava2.0应该有了初步的认识。RxJava2.0相对1....

  • Retrofit+RxJava总结

    上次发布的文章Retrofit2.0+RxJava初步 简单介绍了Retrofit2.0与RxJava结合使用, ...

  • RxJava初步理解

    最近刚刚接触RxJava还没有更深层次的了解,这里只是随笔记录自己的理解在Android开发项目中有一些比较耗时的...

  • Rxjava初步理解

    1、Rxjava是一个可以实现异步操作的库 他可以使得代码的编写变得更为简洁(不是代码数量的减少,而是可读性提高)...

  • RxJava 初探

    0.前言 本文主要记录RxJava的初步用法,以对RxJava有一个直观的感受。官网在这里,RxJava项目地址在...

  • 初步认识

    初识C语言 开始 我从高三毕业假期开始涉及C语言学习,经过了九个月左右的学习,初步认识了这种语言的语法和具体特质。...

  • 认识 RxJava

    RxJava 是一个针对响应式编程思想的一个框架,其本质是利用了观察者模式,充分的利用的函数式编程的思想,学习此框...

  • Rxjava 初步学习使用

    一.原理学习 核心:观察者模式 观察者模式:A 对象(观察者)对 B 对象(被观察者)的某种变化高度敏感,需要在 ...

  • RxJava学习 - 初步了解

    前言 关于RxJava的学习资料已经有很多了,本系列文章算是自己对于RxJava学习的一个过程记录,如果错误请大家...

网友评论

    本文标题:初步认识RXJava

    本文链接:https://www.haomeiwen.com/subject/kdlvmctx.html