MVVM是模型-視圖-視圖模型的簡稱。它本質上是MVC的改進版本。MVVM是對視圖的狀態和行為進行抽象,讓我們將視圖UI與業務邏輯分離開來。
當然,ViewModel已經為我們做了這些事情。由於需要顯示內容,它可以取出模型的數據,並幫助處理視圖中涉及的業務邏輯。微軟的WPF帶來了新的技術體驗,如Silverlight、音頻、視頻、3D、動畫等。,這導致了更詳細和可定制的軟件UI層。
同時,在技術層面上,WPF也帶來了綁定、依賴屬性、路由事件、命令、數據模板、控制模板等新功能。
MVVM(Model-View-ViewModel)框架的起源是將MVP(Model-View-Presenter)模式與WPF相結合的應用模式發展而來的壹種新的架構框架。它基於原有的MVP框架,結合了WPF的新功能,以應對客戶日益復雜的需求。
因為WPF技術的出現,MVC架構模型得到了改進,MVVM模型使用了數據綁定基礎設施。他們可以輕松地構建UI的必要元素。
可以參考wpf (prism)的復合應用指南。
View綁定到ViewModel,然後執行壹些命令向它請求壹個動作。接著,ViewModel與Model通信,並告訴它更新以響應UI。這使得為應用程序構建UI變得非常容易。
越容易將界面粘貼到應用程序中,設計師就越容易使用Blend來創建漂亮的界面。同時,當UI和功能松耦合時,功能的可測試性越來越強。
在MVP模式下,為了將UI層和邏輯層分離,設計師在UI層和邏輯層之間增加了壹個接口。UI開發人員和數據開發人員都應該尊重這個契約,並根據它進行設計和開發。這樣,Web UI和窗口UI都可以理想地使用同壹套數據邏輯。
學習MVP的IView層,養成習慣。視圖模型聽起來比演示者更合適;會把壹些事件和命令相關的東西放到MVC的‘C’或者MVVm的‘VM’裏面。