![]() |
1
1
和许多事情一样,这要看情况而定。如果你的应用很小,并且你在用户看到的东西之间有一对一的关系,你可能不需要视图模型。您可以直接公开您的模型。大多数应用程序都是小型应用程序。 随着应用程序(尤其是UI)的增长,您可能会发现需要在数据层模型对象和表示层模型对象之间实现更大的分离。这就是视图模型出现的地方。尽管属性相同(即用户具有firstname、lastname、emailaddress等),但模型的方法和要求也不同。视图模型使您能够更紧密地遵循 Single Responsibility Principle . 请不要相信不使用视图模型是一个主要的罪过。Rails世界中没有人使用视图模型。(至少我能找到。Rails是一种动态语言,因此它改变了很多规则。) |
![]() |
2
1
通过使用部分类方法,您可以强制域模型了解很多关于您的UI的信息。所以我想说使用这种方法被认为是不好的做法。当应用程序增长时,维护起来可能会很混乱。如果您有一个视图需要表示来自两个完全不同模型的数据,会发生什么? 使用视图模型是一种非常常见的模式,并且已经证明它非常有效。但是,使用这种模式的方法不同。您还可以使用包含域模型对象的视图模型。或者,您可以创建完全独立的视图模型,这些视图模型只包含它们需要显示的数据,而不包含您的域模型。如果使用这种方法,最终会得到很多映射代码。这里我建议你用 automapper 这对你有很大帮助。 |
![]() |
Andrus · 如何在Linux中阅读期刊 5 月前 |
![]() |
Miranda · 读取xml文件时路径错误中有非法字符 5 月前 |
![]() |
Vengat Ramanan · 用户登录Asp时隐藏导航和页脚。网络核心 10 月前 |
![]() |
s15199d · mvc MapController路由/类别名称在这里 11 月前 |
![]() |
Primdonm · 如何将自定义列表中的字符串值格式化为货币格式? 1 年前 |
|
Kiryl · Sitecore中自己的控制器 1 年前 |
|
Farid · 如何从数据库中填充Resource.resx文件值? 1 年前 |