ReactiveUI(RxUI)andReactiveExtensions来自http://docs.reactiveui.net/en/index.html:ReactiveUI是一个MVVM框架,可以让你使用Reactive.NET的扩展,用于创建可在任何移动或桌面平台上运行的优雅、可测试的用户界面。RxUI与ReactiveExtensions有何不同?为什么我更喜欢RxUI而不是MVVMCross/light+Rx?有什么特别的?RxUI可以做Rx做不到的事情吗?是不是更简洁?是不是更舒服?我在github页面上看到了一些示例https://github.com/reactiveui/ReactiveUI#a-compelling-example。但是我不能只对Rx做同样的事情吗?PS那里有API文档吗?你在这里提到了很多问题,所以我会一一回答。RxUI与ReactiveExtensions有何不同?是的。ReactiveExtensions是“一个通过使用可观察序列和LINQ风格的查询运算符来编写异步和基于事件的程序的库”。它与UI无关。Rx为您提供了对数据流的一般抽象。RxUI是一个MVVM框架,这意味着它是一个类库,可以帮助您在应用程序中实现MVVM模式。RxUI可以做Rx做不到的事情吗?是不是更简洁?是不是更舒服?它有不同的用途。Rx提供了一组通常可以帮助您在应用程序中移动数据的方法。RxUI用于创建用户界面。它在底层使用Rx,并从其组件中公开Rx类型的API(即IObservble)。例如,ReactiveUI中的ICommand实现(称为ReactiveCommand)暴露了一个名为ThrownException的属性,该属性是IObservable类型(你可以将其理解为“一系列错误”)。请注意,虽然IObservable接口类型是.Net基类库的一部分,但几乎所有适用于此类型的有用函数都包含在ReactiveExtensions库中。但是我不能只对Rx做同样的事情吗?不,因为-例如-Rx不为您提供ICommand实现,这是每个MVVM框架的重要组成部分。为什么我更喜欢RxUI而不是MVVMCross/light+Rx?有什么特别的?如果你想在你的应用程序中大量使用ReactiveExtensions,你可能更喜欢使用RxUI(而不是其他MVVM框架),因为它们彼此集成得很好。结合起来,它们为您提供了大量开箱即用的功能(例如,查看ReactiveCommand或WhenAny。话虽这么说,正如PaulBetts(RxUI的创建者)所说:您可以将ReactiveUI与其他MVVM框架一起使用,您不需要提交其中之一。RxUI中的许多方法(如WhenAny)适用于任何对象,并在运行时确定如何最好地连接它们。RxUI绝对是一张自助餐桌(随便吃!),而不是七道菜:)最后:PS那里有API文档吗?就在这儿!看看这里:https://reactiveui.net/api/作为旁注,请随意浏览文档的“响应式编程”部分,它将向您解释框架背后的一些基本术语和概念:)以上是C#学习教程:ReactiveUI(RxUI)和ReactiveExtensions分享的所有内容,如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
