4 回答
TA贡献1890条经验 获得超9个赞
本质上,Model和View Model都是具有属性的简单类。
这些类的主要目的是为各自的观众(分别是控制器和视图)描述一个对象(“模型”)。
所以当你说你是完全正确的
据我了解,这是一种模型,其特定目的是与View进行交互
因此,虽然模型类实际上是与您的应用程序交互的域实体,但是视图模型是与视图交互的简单类。
希望能帮助到你 :)
更新:
微软已经在很大程度上基于Model-View-Controller开发了Martin fowler的专用版本的Presentation Pattern,并将其称为PF应用程序的Model-View-ViewModel(MVVM)。此模式针对的是现代UI开发平台,在该平台上,UI开发人员比传统开发人员更多地基于业务逻辑来满足不同的需求。在这里看看一些理论
TA贡献1802条经验 获得超5个赞
用最简单的术语来说,我想以下几点:
模型:严格看起来和感觉像您的数据模型。出于所有目的和目的,它仅是数据模型的类表示。它不了解您的视图或视图中的任何元素。也就是说,它不应包含将用于视图的任何属性装饰器(即,Required,Length等)。
视图模型:作为视图和模型之间的数据绑定器,在许多情况下,它也是模型的包装。如果没有View,它将变得无用,因此通常无法像标准Model一样在多个View和Controller之间重用。
例如,您的模型可能具有以下属性,它们是数据源的直接表示:
public string FirstName { get; set; }
public string LastName { get; set; }
现在,由于您的视图模型已绑定到视图,因此它可能具有以下属性-将模型的名字字段和姓氏字段作为一个字符串连接在一起:
[Display(Name = "Customer Name")]
public string CustomerFullName { get { return String.Format("{0} {1}", myModel.FirstName, myModel.LastName) }}
- 4 回答
- 0 关注
- 636 浏览
添加回答
举报