c# - 在 ViewModel 中构建和记录您的 IObservables

标签 c# .net mvvm system.reactive reactiveui

我最近一直在做一些涉及 Rx.NET 的 UI 工作;专门使用 ReactiveUI。我真的很喜欢 ReactiveUI 帮助您构建 ViewModel 交互的声明性方式。

然而,由于 ReactiveUI 中的大部分逻辑最终都将在您的构造函数中结束,因此对于复杂的 ViewModel,最终可能会有点难以导航并找到您正在寻找的位,以及记录不同的部分是什么打算做的。

你对这两个问题怎么看?将一些可观察的定义移至私有(private)方法?创建您自己的扩展方法(“运算符”)?

期待听到其他人对此的看法!

最佳答案

看到人们获得了如何正确使用 RxUI 的“禅”,真是太酷了,太棒了!

我通常会尝试按照用户工作流程的顺序组织我的交互顺序 - 即首先连接输入,然后将它们连接到表单的操作部分(通常通过 ReactiveCommands),最后通过连接到输出到属性。

我会通过 Select 或 SelectMany 折叠大型查询 - 我会避免定义自定义运算符,除非您的运算符确实可以正常工作。

此外,如果您的 ViewModel 变得太大,仍然有人建议它可能会尝试做太多事情并且应该将其拆分,甚至可以说 UX 本身可能太复杂,这取决于您的受众.

关于c# - 在 ViewModel 中构建和记录您的 IObservables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8376158/

相关文章:

c# - 有没有更好的方法来覆盖文件然后检查更改(在 C# 中)?

c# - 如何还原对其 MDF 和 LDF 文件使用相同命名方案的多个 SQL Server 数据库

.Net Dns.GetHostAddresses(Domain) - 返回 ipv6 地址

c# - 从 MVVM 读取 ListView 数据

c# - Windows 8 Metro 应用程序中取消转义 HTML 字符串

c# - VS2015 中的 Xamarin 奇怪异常

c# - 如何在 C# 中捕获通用异常的所有变体

c# - 如何在资源中存储目录结构?

c# - 带集合的 MVVM 模型。在模型中使用或不使用 observablecollection

c# - 将 Entity Framework 导航属性映射到ViewModel对象