1 回答

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