我最近做过一些涉及Rx.NET的UI工作;特别是使用ReactiveUI。我非常喜欢ReactiveUI帮助您构建ViewModel交互的声明方式。
但是,由于ReactiveUI中的大多数逻辑都会在构造函数中结束,对于复杂的ViewModel,它最终可能难以导航所有并找到您要查找的位,以及记录什么不同的部分是打算做的。
您对这两个问题有何看法?将一些可观察的定义移动到私有方法?创建自己的扩展方法('运营商')?
期待听到其他人对此的看法!
答案 0 :(得分:1)
看到人们如何正确使用RxUI的“禅”非常酷,真棒!
我通常会尝试按照用户工作流程的顺序组织我的交互顺序 - 即首先连接输入,然后将它们连接到表单的操作部分(通常通过ReactiveCommands),然后最后连接到通过ToProperty输出。
我会通过Select或SelectMany来删除大型查询 - 我会避免定义自定义运算符,除非您的运算符确实能够正常工作。
另外,如果你的ViewModel变得太大了,那么仍然有一些建议可能是它试图做太多事情并且它应该分开,甚至可以说UX本身可能过于复杂,具体取决于对你的观众