1 回答

TA貢獻2037條經驗 獲得超6個贊
MVVM與MVC最大的區別就是:MVVM實現了View和Model的自動同步,也就是當Model的屬性改變時,我們不用再自己手動操作Dom元素,來改變View的顯示,而是改變屬性后該屬性對應View層顯示會自動改變。非常的神奇~
MVC,MVP,MVVM是三種常見的前端架構模式(Architectural Pattern),它通過分離關注點來改進代碼組織方式。不同于設計模式(Design Pattern),只是為了解決一類問題而總結出的抽象方法,一種架構模式往往能使用多種設計模式。
MVC模式是MVP,MVVM模式的基礎,這兩種模式更像是MVC模式的優化改良版,他們三個的MV即Model,view相同,不同的是MV之間的紐帶部分。
拓展內容:
MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設計典范,用一種業務邏輯、數據、界面顯示分離的方法組織代碼,將業務邏輯聚集到一個部件里面,在改進和個性化定制界面及用戶交互的同時,不需要重新編寫業務邏輯。MVC被獨特的發展起來用于映射傳統的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結構中。
MVVM本質上就是MVC 的改進版。MVVM 就是將其中的View 的狀態和行為抽象化,讓我們將視圖 UI 和業務邏輯分開。當然這些事 ViewModel 已經幫我們做了,它可以取出 Model 的數據同時幫忙處理 View 中由于需要展示內容而涉及的業務邏輯。
微軟的WPF帶來了新的技術體驗,如Silverlight、音頻、視頻、3D、動畫……,這導致了軟件UI層更加細節化、可定制化。同時,在技術層面,WPF也帶來了 諸如Binding、Dependency Property、Routed Events、Command、DataTemplate、ControlTemplate等新特性。
MVVM(Model-View-ViewModel)框架的由來便是MVP(Model-View-Presenter)模式與WPF結合的應用方式時發展演變過來的一種新型架構框架。它立足于原有MVP框架并且把WPF的新特性糅合進去,以應對客戶日益復雜的需求變化。
- 1 回答
- 0 關注
- 1411 瀏覽
添加回答
舉報