主题中提出了一个问题:模型-视图-视图模型 (MVVM) 模式的优点是否值得付出这些开销?
在许多情况下,实现视图模型涉及复制模型属性的相当大的开销,有时还涉及模型和视图模型数据成员之间的同步。例如,目前在 Silverlight 4 和 WCF RIA 中,不会生成视图模型(如果开发人员遵循 MVVM 模式,则由他来创建视图模型,通常在 ViewModel 中复制相应模型的属性,这没有什么重要作用,但将模型称为存储)。
为什么不扩展 Model 类,提供额外的属性以方便 View 使用呢?
为什么不扩展 Model 类,提供额外的属性以方便 View 使用呢?
实际上这就是演示模型是为了. MVVM 是强烈基于的。不同之处在于 ViewModel 是视图的模型,而不是数据的模型。因此,您更关心视图如何处理数据。
如果您有一个简单的 UI,它所做的只是呈现模型,那么我建议在 ViewModel 的属性上公开模型并绑定到该属性。确保模型确实实现了INotifyPropertyChanged
etc.
ViewModel 的强大之处在于当您需要执行一些操作来响应用户操作时。然后,ViewModel 可以支持命令、调用服务和验证,从而将模型保留为数据容器
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)