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中可能都有意義。 –