mvc和mvvm區別

mvc和mvvm區別

在MVC中,View可以直接訪問模型,因此,View將包含Model信息,並且不可避免地包含一些業務邏輯。MVC模型側重於模型的不變性,因此在MVC模型中,模型不依賴於視圖,但視圖依賴於模型。不僅如此,由於某些業務邏輯是在View中實現的,因此很難更改View,至少那些業務邏輯無法重用。

MVVM是“雙向綁定數據模型數據”的核心,因此View和Model之間沒有連接,通過ViewModel進行交互,MVC是單向通信。也就是說,View和Model必須得到Controller的支持。MVC和MVVM之間的區別並不在於VM完全取代C。ViewModel的目的是提取Controller中顯示的業務邏輯,而不是替換Controller。其他視圖操作服務應在Controller中實現,換句話說,MVVM實現了業務邏輯組件的重用。

資料拓展:MVVM模式試圖獲得MVC提供的功能性開發分離的兩個優點,同時利用數據綁定的優勢和通過綁定數據的框架儘可能接近純應用程序模型。它使用綁定器、視圖模型和任何業務層的數據檢查功能來驗證傳入的數據。