无锡网站优化方案,网站动态图是怎么做的,自建网站做外贸,网站建设人工智能开发引言 我们先说说#xff0c;关键词 响应式编程#xff0c;数据流#xff0c;观察者模式。
观察者模式
一个button setOnClickListener 就是观察者模式。
button是被观察者#xff0c;它产生一个事件(点击)#xff0c;观察者OnClickListener接收到#xff0c;做出相…引言 我们先说说关键词 响应式编程数据流观察者模式。
观察者模式
一个button setOnClickListener 就是观察者模式。
button是被观察者它产生一个事件(点击)观察者OnClickListener接收到做出相应的处理而setOnClickListener就是订阅者它将两者连接起来。
函数响应式编程 响应式编程(Reactive Programming RP)万物皆可视为数据流,比如用户的操作网络数据某个代码状态变更 函数式编程(Functional Programming FP)将逻辑抽象为旧数据如何映射为新数据。(比如rx或者kotlin里的各种操作符) 函数响应式编程(Reactive Functional Programming RFP) 将数据流的各种操作(创建结合过滤等)抽象为函数(操作符)使得数据流可以自由的组合这些函数实现各种数据流的映射 RXJAVA
ReactiveX是Reactive Extensions的缩写一般简写为RxRx是一个编程模型目标是提供一致的编程接口帮助开发者更方便的处理异步数据流。Rx的大部分语言库由ReactiveX这个组织负责维护比较流行的有RxJava/RxJS/Rx.NET社区网站是 reactivex.io。
ReactiveX.io给的定义是Rx是基于观察者模式的实现了异步编程接口ReactiveX结合了观察者模式、迭代器模式和函数式编程的精华。Rxjava则是Reactive Extensions的java实现
简单说Rxjava是函数响应式编程思想的一种体现基于观察者模式实现的一种异步编程接口。 原理 被观察者 Observable 通过 订阅Subscribe 按顺序发送数据 给观察者 Observer 观察者Observer 按顺序接收事件 作出对应的响应动作。 特点: 操作符丰富 支持背压 支持线程切换操作 学习成本和上手难度较高 FLOW
Flow是kotlin提供的一个工具( kotlinx 包下的组件)它也是函数响应式编程(RFP)思想的一种体现也是使用的观察者模式但拥有尽可能简单的设计 对 Kotlin 以及协程友好且遵从结构化并发。 特点: 支持线程(协程) 跟协程绑定的比较多 支持背压 操作符和rx整体来说差不多 学习成本低(前提是得会协程) 总结
两者其实差不多。