我最近一直在做一些涉及 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/