Reactive Extensions 响应式扩展 用于事件驱动编程的库,具有可组合的声明性模型
响应式扩展
这个存储库包含四个库,它们在概念上是相关的,因为它们都与 LINQ over of things 序列有关:
- Reactive Extensions for .NET又名 Rx.NET 或 Rx ( System.Reactive ):一个用于事件驱动编程的库,具有可组合的声明性模型
- AsyncRx.NET(实验性预览)(System.Reactive.Async):Rx 的实验性实现,用于
IAsyncObservable<T>
提供更深入的async
/await
支持 - .NET 的交互式扩展,又名 Ix ( System.Interactive ):
IAsyncEnumerable
和的扩展 LINQ 运算符IEnumerable
- LINQ for
IAsyncEnumerable
( System.Linq.Async ):实现标准 LINQ 运算符IAsyncEnumerable
Rx 的两个关键特性是:
- 一种明确定义的方式来表示和处理实时数据序列 (
IObservable<T>
) - 一组运算符(例如
Where
刚刚显示的运算符),使事件处理逻辑能够以声明方式表达
Rx 在用户界面中的应用尤为成功。(在 .NET 之外也是如此——RxJS是 Rx 的 JavaScript 衍生产品,它在用户界面代码中非常流行。)