這裡隻介紹理論部分,在一個MVVM的簡單例子這裡有我寫的一個下例子,非常簡單。
1、MVVM:模型-視圖-視圖模型(Model-View-ViewModel)
MVVM設計模式基于MVC這種将UI和邏輯分離的結構思想。
View:界面層;
ViewModel:它是View的抽象,并将View的Command傳遞到Model;
Mode:資料通路層
2、在Silverlight或者WPF中采用MVVM的架構可以獲得以下好處:
1. 項目可測試更高,進而可以執行單元測試
2. 将UI和業務的設計完全分開,View和UnitTest隻是ViewModel的兩個不同形式的消費者
3. 有助于我們差別并哪些是UI操作,哪些是業務操作,而不是将他們全混在CodeBehind中
3.ViewModel的作用:
ViewModel是MVVM架構中最重要的部分,ViewModel中包含屬性,指令,方法,事件,屬性驗證等邏輯。
ViewModel的屬性:ViewModel的屬性是View資料的來源。這些屬性可由三部分組成:
一部分是Model的複制屬性。
另一部分用于控制UI狀态。
第三部分是一些方法的參數
ViewModel的指令:ViewModel中的指令用于接受View的使用者輸入,并做相應的處理。我們也可以通過方法實作相同的功能。
ViewModel的事件: ViewModel中的事件主要用來通知View做相應的UI變換。