Reactive Extensions

联合创作 · 2023-09-24 17:21

Reactive Extensions (Rx) 是一个程序库,使用可观测对象(IObservable<T>)的序列和 LINQ 风格的查询操作来编写异步和基于事件的程序。开发人员可通过 Rx 使用可观测对象来表示异步数据流,并使用 LINQ 操作来查询异步数据流。简而言之:Rx = Observables + LINQ + Schedulers.

Rx 有多个语言版本:https://github.com/ReactiveX?page=1

整个项目包含:

  • Reactive Extensions:

    • Rx.NET: The Reactive Extensions (Rx) is a library for composing asynchronous and event-based programs using observable sequences and LINQ-style query operators.

    • RxJS: The Reactive Extensions for JavaScript (RxJS) is a library for composing asynchronous and event-based programs using observable sequences and LINQ-style query operators in JavaScript which can target both the browser and Node.js.

    • Rx++: The Reactive Extensions for Native (RxC) is a library for composing asynchronous and event-based programs using observable sequences and LINQ-style query operators in both C and C++.

  • Interactive Extensions:

    • Ix: The Interactive Extensions (Ix) is a .NET library which extends LINQ to Objects to provide many of the operators available in Rx but targeted for IEnumerable<T>.

    • IxJS: An implementation of LINQ to Objects and the Interactive Extensions (Ix) in JavaScript.

    • Ix++: An implantation of LINQ for Native Developers in C++

  • Binding Examples:

    • Tx: Tx is set of code samples showing how to use LINQ to events, such as real-time standing queries and queries on past history from trace and log files, which targets ETW, Windows Event Logs and SQL Server Extended Events.

    • LINQ2Charts: an example for Rx bindings. Similar to existing APIs like LINQ to XML, it allows developers to use LINQ to create/change/update charts in an easy way and avoid having to deal with XML or other underneath data structures. We would love to see more Rx bindings like this one.

浏览 7
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报