mvvm和mvc的區別

品牌型號:聯想拯救者Y9000P
系統:Windows11

mvvm和mvc的區別

mvvm和mVC的區別:

1、mvvm實現了view和Model的自動同步,當model的屬性改變時,用户不用在手動操作dom元素來改變view的顯示,它會自動變化。

2、MVVM並不是用VM完全取代了C,ViewModel存在目的在於抽離Controller中展示的業務邏輯,而不是替代Controller,其它視圖操作業務等還是應該放在Controller中實現。

3、mvc和mvvm都是一種設計思想。主要就是mvc中Controller演變成mvvm中的viewModel。mvvm主要解決了mvc中大量DOM操作使頁面渲染性能降低,加載速度變慢的問題。

MVVM是Model-View-ViewModel的簡寫。它本質上就是MVC的改進版。MVVM就是將其中的View的狀態和行為抽象化,讓我們將視圖UI和業務邏輯分開。

經典MVC模式中,M是指模型,V是視圖,C則是控制器,使用MVC的目的是將M和V的實現代碼分離,從而使同一個程序可以使用不同的表現形式。其中,View的定義比較清晰,就是用户界面。

mvvm的優點:

1、低耦合。視圖(View)可以獨立於Model變化和修改,一個ViewModel可以綁定到不同的"View"上,當View變化的時候Model可以不變,當Model變化的時候View也可以不變。

2、可重用性。你可以把一些視圖邏輯放在一個ViewModel裏面,讓很多view重用這段視圖邏輯。

3、獨立開發。開發人員可以專注於業務邏輯和數據的開發(ViewModel),設計人員可以專注於頁面設計,使用ExpressionBlend可以很容易設計界面並生成xaml代碼。

4、可測試。界面素來是比較難於測試的,測試可以針對ViewModel來寫。