问题在主题中陈述:模型- View - View 模型(MVVM)模式的优势是否值得开销?
在许多情况下,实现 View 模型涉及复制模型属性的相当大的开销,有时还涉及模型和 View 模型数据成员之间的同步。例如,目前在 Silverlight 4 和 WCF RIA 中,不生成 View 模型(如果开发人员遵循 MVVM 模式,则由他来创建 View 模型,通常在 ViewModel 中复制相应模型的属性,这没什么意义,但将模型称为存储)。
为什么不扩展 Model 类,提供额外的属性使其易于被 View 使用呢?
最佳答案
Why not extending the Model class, providing additional properties to make it easy to be consumed by the View instead?
实际上,这就是 PresentationModel是为了。 MVVM 强烈基于哪个。不同之处在于 ViewModel 是 View 的模型,而不是数据的模型。因此,您更关心 View 如何处理数据。
如果您有一个简单的 UI,它所做的只是呈现模型,那么我建议在 ViewModel 的属性上公开模型并绑定(bind)到该属性。确保模型确实实现了
INotifyPropertyChanged
等等ViewModel 的强大之处在于您有事情要做以响应用户操作。然后 ViewModel 可以支持命令,调用服务和验证,从而将模型作为数据容器
关于silverlight - Model-View-ViewModel (MVVM) 模式的优势值得付出代价吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5629273/