組成部分Model、View、ViewModel
View:UI界面
ViewModel:它是View的抽象,負責View與Model之間資訊轉換,将View的Command傳送到Model;
Model:資料模型層
View與ViewModule連接配接可以通過下面的方式
Binding Data:實作資料的傳遞
Command:實作操作的調用
AttachBehavior:實作控件加載過程中的操作
View沒有大量代碼邏輯,這個是使用MVVM設計模式後的結果,而不是我們我們刻意的目的。結合WPF、Silverlight綁定機制,MVP演變出了MVVM,充分利用了WPF、Silverlight的優勢,将大量代碼邏輯、狀态轉到ViewModel,可以說MVVM是專門為WPF、Silverlight打造的。
View綁定到ViewModel,然後執行一些指令在向它請求一個動作。而反過來,ViewModel跟Model通訊,告訴它更新來響應UI。這樣便使得為應用建構UI非常的容易。往一個應用程式上貼一個界面越容易,外觀設計師就越容易使用Blend來建立一個漂亮的界面。同時,當UI和功能越來越松耦合的時候,功能的可測試性就越來越強。
執行個體源碼效果如下: