MVVM视图模型和模型问题

MVVM视图模型和模型问题,mvvm,Mvvm,我正在努力学习MVVM,并且在区分模型和视图模型方面有点困难 如果有人能回答这两个问题,这将有助于我澄清很多问题: 假设我有一个Objects类,它是一个viewmodel,包含多个Object的可观察集合。 对象类包含GUI上显示的字符串的可观察集合 对象是a类模型还是viewmodel 如果对象类只包含一个字符串和一个整数(名称和值),它是模型还是视图模型呢?模型是保存数据的类。数据可以是字符串/整数或任何形式。 模型也可以是这些对象的列表/集合。例如,Person对象的列表仍然可以是您的模

我正在努力学习MVVM,并且在区分模型和视图模型方面有点困难

如果有人能回答这两个问题,这将有助于我澄清很多问题:

假设我有一个
Objects
类,它是一个viewmodel,包含多个
Object
的可观察集合。
对象
类包含GUI上显示的字符串的可观察集合

对象是a类模型还是viewmodel


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

模型
是保存数据的类。数据可以是字符串/整数或任何形式。
模型
也可以是这些对象的列表/集合。例如,
Person
对象的列表仍然可以是您的
模型

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

所以要回答你的问题:

如果您有一个包含数据的对象(在您的示例中是字符串列表),那么它就是
模型
。 即使对象稍微复杂一点(与它所持有的属性数量有关),它也可能仍然是模型。

业务逻辑应该与模型分开。另一方面,可以添加到模型中(例如,确保个人的
Age
属性为非负),因为这仍然是关于数据行为的规则模型是保存数据的类。数据可以是字符串/整数或任何形式。
模型
也可以是这些对象的列表/集合。例如,
Person
对象的列表仍然可以是您的
模型

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

所以要回答你的问题:

如果您有一个包含数据的对象(在您的示例中是字符串列表),那么它就是
模型
。 即使对象稍微复杂一点(与它所持有的属性数量有关),它也可能仍然是模型。

业务逻辑应该与模型分开。另一方面,可以将添加到模型中(例如,确保个人的
年龄
属性为非负),因为这仍然是关于数据行为的规则

值得记住的是,您可以只拥有一个模型和一个视图,您不必拥有视图模型。值得记住的是,您可以只拥有一个模型和一个视图,而不必拥有一个视图模型。