MVVM與MVC的差別有:1、mvvm各部分的通訊是雙向的,而mvc各部分通訊是單向的;2、mvvm是真正將頁面與資料邏輯分離放到js裡去實現,而mvc裡面未分離。
【推薦教學:MVC教學】
MVC
MVC是包含view視圖層、controller控制層、model資料層。各部分之間的通訊都是單向的。
View 傳送指令到ControllerController 完成業務邏輯後,請Model 改變狀態Model 將新的資料傳送到View,使用者得到回饋
MVVM
MVVM包括view視圖層、model資料層、viewmodel層。各部分通信都是雙向的。採用雙向資料綁定,View的變動,自動反映在 ViewModel,反之亦然。其中ViewModel層,就是View和Model層的黏合劑,他是一個放置使用者輸入驗證邏輯,視圖顯示邏輯,發起網路請求和其他各種各樣的程式碼的極好的地方。說穿了,就是把原來ViewController層的業務邏輯和頁面邏輯等剝離出來放到ViewModel層
MVC與MVVM的差別
#在MVC裡,View是可以直接存取Model的,所以View裡會包含Model資訊以及一些業務邏輯。 MVC模型關注的是Model的不變,所以在MVC模型裡,Model不依賴View,但是 View是依賴Model的。不僅如此,因為有一些業務邏輯在View裡實現了,導致要更改View也是比較困難的,至少那些業務邏輯是無法重複使用的。
MVVM在概念上是真正將頁面與資料邏輯分離的模式,它把資料綁定工作放到一個JS裡去實現,而這個JS檔案的主要功能是完成資料的綁定,即把model綁定到UI的元素。另外MVVM另一個重要特性雙向綁定,它更方便你去同時維護頁面上都依賴某個欄位的N個區域,而不用手動更新它們。
###總結:以上就是這篇文章的全部內容了,希望對大家有幫助###以上是MVVM和MVC有什麼差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!