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.

浏览 17
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

编辑 分享
举报