4
A
回答
3
一个ViewModel
不是MVC模式的一部分,开始。
它是MVVM的一部分。
MV在模式均值模型(如在业务/域模型中)和查看UI。
MVC还有一个控制器,它是视图和模型之间的协调器。就默认的Microsoft MVC框架而言,控制器,视图和模型都会进入匹配名称的目录。
MVVM具有ViewModel,它是视图本身的一个模型。由于这不是MVC模式的一部分,因此Microsoft在MVC模板中默认没有这些地方,但如果您希望引入此抽象,则应为它们创建一个ViewModels目录。
5
尽管Oded在ViewModel中不是MVC的一部分是正确的,但许多人仍然使用该术语来描述一种模型,该模型基本上是用于演示目的的一种或多种翻译数据类的组合。
在典型的实现中,MVC Web项目可能无法直接访问DTO类,它依次调用核心层中调用数据库的方法,检索DTO对象并将它们转换为“查看模型”。
我认为它可以帮助新手(将他们的数据类称为模型)区分DTO类和基于DTO类纯粹用于演示目的而构建的类。
相关问题
- 1. 在asp.net core mvc中Model和ViewModel有什么区别?
- 2. ASP.NET MVC中的ASP.NET控件和Html.helpers之间有什么区别?
- 3. MVC和MVVM之间的区别和相似之处是什么?
- 4. mvc1和mvc2之间的一些关键区别是什么
- 5. ASP.NET MVC中的string.Format和TagBuilder之间有什么区别?
- 6. C#和MVC中System.Environment.Username和User.Identity.Name之间的区别是什么?
- 7. ASP.NET MVC:在ActionFilterAttribute类中,OnActionExecuted和OnResultExecuted之间有什么区别?
- 8. 是什么这两个ASP.NET MVC IgnoreRoute指令之间的区别?
- 9. ASP.NET MVC 3和4之间的区别?
- 10. ASP.NET MVC 1和3之间的区别
- 11. asp.net mvc OnAuthorization和OnActionExecuting之间的区别
- 12. ASP.NET中属性“ID”和“BehaviorID”之间的区别是什么?
- 13. ASP.Net中Session.Abandon()和Session.Clear()之间的区别是什么?
- 14. $(())和expr之间的区别是什么?
- 15. $和$ .fn之间的区别是什么?
- 16. ++和:haskell之间的区别是什么?
- 17. $(“”)和$ .find(“”)之间的区别是什么?
- 18. “\”和“\。”之间的区别是什么?
- 19. “$ | ++”和“$ | = 1”之间的区别是什么
- 20. $(...)和`...`之间的区别是什么
- 21. .equals()和==之间的区别是什么?
- 22. [undefined]和[,]之间的区别是什么?
- 23. resque:failed和resque之间有什么区别:stat:失败的关键?
- 24. Laravel的'extends Authenticatable'和'extends Model'之间有什么区别?
- 25. Rails/ActiveRecord的attr_accessible中的model和model_id之间的区别是什么?
- 26. Model :: ConstInterp和Model :: Eval有什么区别?
- 27. ASP.NET和ASP.NET MVC有什么区别?
- 28. “throw”关键字和“Write-Error-ErrorAction Stop”之间有什么区别?
- 29. c和C++之间关键字static有什么区别?
- 30. 使用box关键字和Box :: new之间有什么区别?
+1我对ViewModels的看法与您的相似。 ViewModels可以用作Model对象的容器,它可以是来自其他层的DTO。在我看来,ViewModel在视图的上下文之外没有任何意义,它将成为根模型,而构成模型的对象在许多视图和crontrollers中可能都有意义。 –