MVVM视图模型和模型问题

时间:2013-04-06 13:41:57

标签: mvvm

我正在尝试学习MVVM,而且我正在努力区分模型和视图模型。

如果有人能够回答这两个问题,那将有助于我清楚:

假设我有一个Objects类,它是一个包含多个Object的ObservableCollections的视图模型。 Object类包含显示在GUI上的字符串的ObservableCollection。

Object类是模型还是视图模型?

如果Object类只包含字符串和整数(名称和值),它是模型还是视图模型怎么办?

1 个答案:

答案 0 :(得分:1)

Model是保存数据的类。数据可以是字符串/整数或其他。 Model也可以是这些对象的列表/集合。例如,Person对象列表仍然可以是您的Model

ViewModel是模型与视图之间的层。它应该用于执行数据所需的任何任务(例如,如果您的模型是Person个对象的列表,但您只想在视图中显示年龄大于18岁的人,这个逻辑是在ViewModel

中完成

所以回答你的问题:

如果您的对象包含数据(在您的示例中为字符串列表),则为Model。 即使对象稍微复杂一些(与它所拥有的属性数量有关),它仍然可能是模型 业务逻辑应与模型分开。另一方面,Validation 可以添加到模型中(例如,以确保一个人的Age属性是非负的),因为这仍然是关于如何您的数据应该表现