1

我正在尝试学习 MVVM,并且在区分模型和视图模型方面有点挣扎。

如果有人能回答这两个问题,那对我来说会很有帮助:

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

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

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

4

1 回答 1

1

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

这是您的模型和视图之间ViewModel的层。它应该用于对数据执行您需要的任何任务(例如,如果您的模型是对象列表,但您只想在视图中显示年龄超过 18 岁的人,则此逻辑在 中完成)PersonViewModel

所以回答你的问题:

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

于 2013-04-06T13:47:58.703 回答