MvvM中的模型是什么

MvvM中的模型是什么,mvvm,Mvvm,我有一个有四个文本框和一个组合框的窗口。所以我的模型是这样的 Public string FirstName{get;set;} Public string LastName{get;set;} Public int Age{get;set;} Public string Status{get;set;} 这是对的还是错的 模型与用户界面中的元素一一对应 问题1:是的,它是对的 模型是要处理的数据(域)对象的表示形式 问题2:不,这不一定是真的。 更重要的是:模型保留信息,而不是附加到它

我有一个有四个文本框和一个组合框的窗口。所以我的模型是这样的

Public string FirstName{get;set;}

Public string LastName{get;set;}

Public int Age{get;set;}

Public string Status{get;set;}
这是对的还是错的

模型与用户界面中的元素一一对应


问题1:是的,它是对的

模型是要处理的数据(域)对象的表示形式

问题2:不,这不一定是真的。 更重要的是:模型保留信息,而不是附加到它的行为。用户界面通常由信息和行为组成。

MVVM中的“模型”不是描述对象,而是描述层。通常,除了表示(视图模型层)或UI(视图层)之外的所有内容都属于模型的范畴

通常有两个附加层:域/业务层和一个或多个基础结构层(例如数据访问)。在域层中,您拥有域模型和(域)服务以及存储库的定义(仅限接口)

存储库在基础架构层实现,因此您的域不知道它们的实现

通常,您应该只将域模型传递给ViewModels,除了简单的CRUD操作,在该操作中,您可以直接显示数据并对其进行编辑,而不需要对其执行任何业务逻辑


您不应该将域或数据访问模型绑定到视图,因为它有许多副作用(WPF中的内存泄漏,您的视图现在依赖于域/数据访问模型,这不是重构安全的。重构适用于类,但不适用于绑定在XAML中的属性)。

您的模型不必与UI组件1:1对应。