【发布时间】:2011-01-09 16:20:21
【问题描述】:
在过去的两年里我一直在使用 MVVM,从那时起它肯定已经变得更好了。当我阅读数百篇 MVVM 文章和 stackoverflow 问题时,我注意到似乎有越来越多的文章将视图/视图模型的关系和创建描述为 ViewModel first 或 View first。这些文章通常使用 IoC 或 DI。
我最喜欢的技术是使用数据模板来创建视图,并根据视图模型而不是视图来构建应用程序。我很少再看到使用这种模式的文章了。
<DataTemplate DataType="{x:Type ViewModels:DummyViewModel}">
<Views:DummyUserControl DataContext="{Binding}"/>
</DataTemplate>
可测试性和解耦似乎是这些“非数据模板”V-VM 创建/关系设计和文章的主要关注点,而且它们通常与 MEF 或 PRISM 有关。最终我想知道以下几点:
- 是否仍在使用或推荐 DataTemplate 视图创建技术?
- 视图优先设计的优缺点是什么?
- 视图模型优先设计(注入视图)的优缺点是什么
如果它们与 MEF/PRISM 无关,则欢迎提供涵盖这些主题的文章的任何良好链接。
【问题讨论】: