我过去两年一直在使用MVVM,它自那时以来已经发展得更好了。当我阅读数百篇MVVM文章和stackoverflow问题时,我注意到越来越多的文章描述了ViewModel先或View先的视图/视图模型关系和创建方式。这些文章通常使用IoC或DI。
我的最爱技术是使用DataTemplate创建视图,并根据视图模型而不是视图来构建应用程序。我很少再看到使用这种模式的文章了。
<DataTemplate DataType="{x:Type ViewModels:DummyViewModel}">
<Views:DummyUserControl DataContext="{Binding}"/>
</DataTemplate>
这些“非数据模板”V-VM创建/关系设计和文章似乎主要关注可测试性和解耦,通常涉及MEF或PRISM。最终我想知道以下内容:
- 是否仍然使用或推荐DataTemplate视图创建技术?
- 视图优先设计的利弊是什么?
- 使用视图模型优先设计(将视图注入)的利弊是什么?
如果有任何涵盖这些主题的好文章链接,不涉及MEF/PRISM,将不胜感激。