我最近一直在做一些涉及Rx.NET的UI工作;特别是使用ReactiveUI。我真的很喜欢ReactiveUI帮助你构建ViewModel交互的声明式方式。
然而,由于ReactiveUI中的大多数逻辑最终会在你的构造函数中结束,对于复杂的ViewModels,它最终会有点难以导航它并找到你正在寻找的位,以及做文档不同部分打算做什么。
你对这两个问题有什么看法?将一些可观察对象定义移动到私有方法?创建自己的扩展方法("操作符")?期待听到其他人对此的看法!
看到人们掌握了如何正确使用RxUI的"禅意",真是太棒了!
我通常尝试按照用户工作流的顺序来组织我的交互顺序——即,首先连接输入,然后连接到表单的操作部分(通常通过reactivecommand),最后通过ToProperty将其连接到输出。
我会通过Select或SelectMany折叠大型查询-我会避免定义自定义操作符,除非您的操作符确实可以正常工作。
同样,如果你的ViewModels变得太大,仍然有建议,也许它试图做太多的事情,它应该被分割,甚至说用户体验本身可能太复杂,这取决于你的受众。