- M:Model(模型)
- V: View(視圖)
- VM:ViewModel(視圖模型)
MVVM與MVC
- MVVM模式和MVC模式一樣,主要目的是分離視圖(View)和模型(Model),有幾大優點
- 低耦合。視圖(View)可以獨立于Model變化和修改,一個ViewModel可以綁定到不同的"View"上,當View變化的時候Model可以不變,當Model變化的時候View也可以不變。
- 可重用性。你可以把一些視圖邏輯放在一個ViewModel里面,讓很多view重用這段視圖邏輯。
- 獨立開發。開發人員可以專注于業務邏輯和數據的開發(ViewModel),設計人員可以專注于頁面設計,使用Expression Blend可以很容易設計界面并生成xaml代碼。
- 可測試。界面素來是比較難于測試的,而現在測試可以針對ViewModel來寫。