【发布时间】:2013-06-28 09:57:42
【问题描述】:
我有一个 3D 网络分析应用程序,我想在其中布置图形的顶点。在这种情况下,我尽可能地遵循 MVVM,所以我现在的问题是我应该使用顶点 ViewModels 还是顶点 Views (Visual3Ds) 运行布局算法。该算法无论如何都需要访问 ViewModel 以获取各自的边缘和一些其他信息,因此我可以从 View 获取 ViewModel 或直接使用 ViewModel。更好的方法是什么?
【问题讨论】:
我有一个 3D 网络分析应用程序,我想在其中布置图形的顶点。在这种情况下,我尽可能地遵循 MVVM,所以我现在的问题是我应该使用顶点 ViewModels 还是顶点 Views (Visual3Ds) 运行布局算法。该算法无论如何都需要访问 ViewModel 以获取各自的边缘和一些其他信息,因此我可以从 View 获取 ViewModel 或直接使用 ViewModel。更好的方法是什么?
【问题讨论】:
可以有一个包含点的 ViewModel 并将 Visual3D 绑定到它。
这样您就可以从 ViewModel 中访问点/边,并在 View 中查看效果。
这是解决此问题的一种非常干净的方法。
如果您要从 View 获取数据,您将打破 MVVM 模式,从而导致 ViewModel 对 View 的依赖,从而使测试 ViewModel 变得更加困难。
【讨论】: