什么是MvvM中的模型

时间:2016-02-29 09:47:24

标签: mvvm

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

Public string FirstName{get;set;}

Public string LastName{get;set;}

Public int Age{get;set;}

Public string Status{get;set;}

是对还是

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

我是对还是

2 个答案:

答案 0 :(得分:0)

问题1:是的,这是对的!

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

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

答案 1 :(得分:0)

"模型"在MVVM中不描述对象,而是描述一个层。通常,所有不呈现(ViewModel图层)或UI(视图图层)的内容都属于模型类别。

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

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

通常,您应该只将域模型传递给ViewModel,除了可能直接显示数据并对其进行编辑的简单CRUD操作,而不对其强制执行业务逻辑。

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