首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在简单情况下使用反应式编程的原因

在简单情况下使用反应式编程的原因
EN

Stack Overflow用户
提问于 2017-11-12 01:33:18
回答 4查看 8.3K关注 0票数 15

请问,谁能给我解释一下使用反应式风格的好处:

代码语言:javascript
复制
Observable<String> greeting = Observable.just("Hello");
Observable<String> yelling = greeting.map(s -> s.toUppercase());

而不是简单的命令式风格:

代码语言:javascript
复制
String greeting = "Hello";
String yelling = greeting.toUppercase();

我理解反应式编程,就像数据库访问、用户界面、计算、网络访问等一样,但是为什么我们需要对简单的toUppercase使用反应式编程

EN

回答 4

Stack Overflow用户

发布于 2017-11-13 16:17:23

除了所有没有阻塞的特性之外,使用反应式编程的另一个很好的特性是背压的重要使用。通常用于发布者发出的信息多于使用者可以处理的信息的情况。

因此,有了这种机制,您就可以控制两者之间的流量,并避免严重的内存不足问题。

您可以在https://github.com/politrons/reactive中看到一些反应式编程的实践示例

关于背压,https://github.com/politrons/Akka/blob/master/src/main/scala/stream/BackPressure.scala

顺便说一句,反应式编程的唯一缺点是学习的曲线,因为你正在改变编程的范式。但是现在所有重要的公司都尊重并遵循响应式的宣言http://www.reactivemanifesto.org/

如果你想看一些实用的例子,你可以在这里参考https://github.com/politrons/reactive

票数 17
EN

Stack Overflow用户

发布于 2017-11-12 12:44:31

您可以使用反应式编程执行的所有操作,您也可以使用简单的函数或简单的事件侦听器来执行。

在异步编程中:反应式编程大多数情况下,不能,甚至可以让你的代码库更小,更易于阅读。但它将使您的代码更健壮的易于扩展以供以后使用。

特别是当数据以流的形式发送时,特别是当有多个元素被推送到流上时,不同的时间,并且你需要做与时间相关的事情时,反应式编程使代码更容易维护。

票数 6
EN

Stack Overflow用户

发布于 2017-11-12 01:35:30

你是对的,你不需要在“简单的toUppercase”中使用RxJava。反应式编程在处理异步数据流时具有优势。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47240836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档