2013-04-06 184 views
1

我正在努力学习MVVM,并且我在模型和视图模型之间进行了区分。MVVM视图模型和模型问题

如果有人能回答这些2个问题,这将有助于清楚很多了对我来说:

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

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

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

+1

值得记住的还是规则你可以只有一个模型和一个视图,你不必有一个视图模型。 – ColinE 2013-04-06 13:54:40

回答

1

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

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

因此,要回答你的问题:

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