Asp.net-Mvc
MVVM 視圖模型與 MVC 視圖模型
ViewModel 是 MVVM (Model-View-ViewModel) 和推薦的 ASP.NET MVC 實現中使用的術語。鑑於每種模式都使用相同的術語,研究“ViewModel”可能會令人困惑。
MVC ViewModel 和 MVVM ViewModel 之間的主要區別是什麼?例如,鑑於缺少控制器,我認為 MVVM ViewModel 更豐富。這是真的?
一個相當具有挑戰性的問題要簡潔地回答,但我會嘗試一下。(請記住,這些問題的答案仍然是開發人員爭論的主題。)
在 MVC 中,ViewModel 提供了渲染視圖所需的所有資訊。它包含的數據是使用模型中定義的數據創建的。View 讀取 ViewModel 並呈現輸出。來自視圖的輸入被傳遞給控制器,控制器操縱模型,構造適當的視圖模型,並將其傳遞給視圖進行渲染。
在 MVVM 中,ViewModel 提供與 MVC 中相同的功能,但它還通過提供允許 View 操作模型的命令來替換 MVC 控制器的一部分。WPF 數據綁定根據 ViewModel 的變化來管理 View 的更新(這有效地替換了 MVC 控制器的剩餘功能)。