註:相關學習資料來自Laurent Bugnion的部落格http://www.galasoft.ch/mvvm/ 作者提供了詳細介紹視頻和部分samples源碼(English),MVVM Light Toolkit也在codeplex上又對應源碼,在介紹視頻中Laurent詳細介紹了MVVM(Model-View-ViewModel)模式的特點、應用、資料訊息處理等,層次由淺及深,是學習MVVM的好教材;
正如Laurent 部落格中介紹的,MVVM在在SL、wpf、wp7中的主要是將Mode和View分離,以便建立簡潔、易維護、易擴充的應用程式;可測試性強(View和Model分離可以針對Model進行單元測試)、UI的易用性強;UI易用性主要體現在可以在Expression Blend中快速設計介面,而且Toolkit可以提供設計時資料以供UI設計師在設計UI更方便的看到很多資料控制項的顯示(這個在接下的章節中會介紹);這裡主要向大家介紹本人對MVVM模式的一些淺層次瞭解.
1.MVVM模式結構
這是MVC模式,它實現了View和Model 的分離,可以為相同的Model開發不同的View顯示,同時方便對Model進行測試,通過Controller管理請求並做邏輯處理;
這是MVVM模式,它已經完全隔離了Model和View,由Presentation Model控製程序邏輯;因而可以對ViewModel進行獨立測試;
2.View和Mode之間的互動
View和ViewModel之間主要通過Databinding來顯示ViewModel資料,同時View可以通知ViewModel資料的變化(設定Binding Mode);
使用者操作(Button的Click之類的)通過綁定對應Command以通知ViewModel進行邏輯處理 ;關於Commands在接下來章節會做詳細介紹;
ViewModel通過訊息更新View的顯示;Model作為資料處理組件;
環境配置:
如果你已經配置好了wp7開發環境,請直接安裝
MVVM Light Toolkit V4 beta1就可以了,它會包括SL、wpf、wp7應用模板,toolkit中的組件;
如果你未配置wp7開發環境,請參考http://www.cnblogs.com/yoainet/archive/2011/12/02/2272479.html中的環境配置進行安裝
安裝完後你的vs2010中會有以下模板:
mvvm silverlight
mvvm wp7
mvvm wpf
好了,可以開始mvvm開發之旅了