2016-02-29 168 views
0

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

Public string FirstName{get;set;} 

Public string LastName{get;set;} 

Public int Age{get;set;} 

Public string Status{get;set;} 

它是正确的还是不

和型号是一对一的对应,在用户界面元素。

我是对还是不对

+0

不需要您的模型必须与您的UI组件对应1:1。 – Filburt

回答

0

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

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

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

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

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

0

问题1:是的,它是正确的!

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

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