Reactive Extensions的杀手级优势是什么?

13

哪些是使用反应式扩展框架(无论是 .NET 还是 JavaScript)最大的优势?为什么开发者要学习并使用它们?

1个回答

17

使用响应式扩展,开发者可以使用更加函数式和声明式的语法,在 Observable 集合上组合复杂事件处理和异步计算。

一个相对简单的示例可以在以下链接中找到:

Mike Chaliy:Reactive Extensions AI:Domain Events Example

即使在一个简单的示例中,也有这样的优势:

...通知经理有关所有明显的转移。

Account.TransferMoney
       .Where(_ => _.Amount > 100.0m)
       .Subscribe(_ => SendMessageToManager());

正如您所看到的,使用Rx进行订阅清晰明了地定义了我们的意图。您可以想象将复杂逻辑(类似于复杂的LINQ查询)链接在一起,以实现非常有趣的功能。

您可能还想查看:

反应式框架(Rx)Wiki:(尚未)101个Rx示例


虽然我同意反应式扩展使完成处理程序清晰,但我相信 C# 5 中的 'await' 关键字将使它更加清晰。反应式扩展非常擅长执行诸如“等待多个异步操作完成”之类的任务。 - Phillip Ngan
迈克·查利:响应式扩展人工智能:领域事件示例 页面出现错误。 - Amr Elgarhy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接