gpt4 book ai didi

MVVM 澄清 : What belongs into ViewModel, 什么属于模型?

转载 作者:行者123 更新时间:2023-12-04 04:36:12 26 4
gpt4 key购买 nike

因此,在我没有真正关注新发展的一段时间后,我再次研究了 MVVM,我注意到教程/指南等的数量已经大大增加。然而,MVVM 的大多数示例/示例实现都缺乏解释一些我不太清楚的东西。所有这些示例都非常简单,并且没有一个从数据库/文件/等中读取内容。

例如,现在我有一些类似绘画的应用程序,并将绘画保存在 XAML 中。什么属于 ViewModel 什么属于 Model?

模型是否提供从 XAML 文件加载/保存绘画的功能?

ViewModel 是否绑定(bind)到模型公开的属性(颜色、宽度、位置等)?

验证发生在模型中还是 View 模型中?

最佳答案

ViewModel 是模型的表示,适合您使用的表示技术。

在您的示例中,我相信模型不会提供从 XAML 文件加载/保存绘画的功能。这将在数​​据访问对象/存储库中执行,ViewModel 将调用该对象/存储库,并将模型实例作为输入。不过,这一位通常是可变的,取决于您的模型类的外观。

ViewModel 本身通常不使用数据绑定(bind)。它只是以一种有助于展示( View )技术的方式将模型暴露给 View 。在 WPF/Silverlight 的情况下,这基本上意味着它实现了 INotifyPropertyChanged 接口(interface)。

验证通常由 View 发起(就像几乎所有东西一样),在 ViewModel 中执行,但通常由 ViewModel 委托(delegate)给 Model。当然,最好不要在整个应用程序中重复验证。常见验证的最佳位置是模型(请参阅 IDataErrorInfo)。但是,特定于您的 ViewModel 的验证可以直接在 ViewModel 中处理。

关于MVVM 澄清 : What belongs into ViewModel, 什么属于模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2283842/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com