一、什么是MVVM?
MVVM是 Model-View-ViewModel的縮寫,即模型-視圖-視圖模型。MVVM 是一種設計思想。
- 模型(Model):代表數(shù)據(jù)模型,也可以在Model中定義數(shù)據(jù)修改和操作的業(yè)務邏輯。數(shù)據(jù)保存—存放著各種數(shù)據(jù),有的是固定寫死的,大多數(shù)是從后端返回的數(shù)據(jù)
- 視圖 (View):代表UI 組件,它負責將數(shù)據(jù)模型轉化成UI 展現(xiàn)出來,用戶界面,也就是DOM
- 視圖模型(View-Model):監(jiān)聽數(shù)據(jù)模型的改變和控制視圖行為、處理用戶交互,簡單理解就是一個同步View 和Model的對象,連接Model和View。
MVVM的流程如下:
二、MVC是什么?
MVC 通過分離 Model、View 和 Controller 的方式來組織代碼結構。其中 View 負責頁面的顯示邏輯,Model 負責存儲頁面的業(yè)務數(shù)據(jù),以及對相應數(shù)據(jù)的操作。并且 View 和 Model 應用了觀察者模式,當Model 層發(fā)生改變的時候它會通知有關 View 層更新頁面。Controller 層是View 層和 Model 層的紐帶,它主要負責用戶與應用的響應操作,當用戶與頁面產生交與的時候,Controller 中的事件觸發(fā)器就開始工作了,通過調用 Model 層,來完成對 Model 的修改然后 Model 層再去通知 View 層更新。
三、MVVM和MVC的區(qū)別?
- 都是一種設計思想
- MVC后臺用的多,MVC是Model-view-Controller的簡寫,即模型-視圖-控制器。
- MVC的目的就是將M和V的代碼分離
- MVC是單向通信,也就是View和Model,必須通過controller來承上啟下。
- MVVM實現(xiàn)了View和Model的自動同步,當Model的屬性改變時,不用再自己手動操作DOM元素,提高了頁面渲染性能。
文章來源:http://www.zghlxwxcb.cn/news/detail-424148.html
四、什么是MVP?
MVP 模式與 MVC 唯一不同的在于 Presenter 和 Controller。
在 MVC 模式中使用觀察者模式來實現(xiàn)當 Model 層數(shù)據(jù)發(fā)生變化的時候,通知 View 層的更新。這樣 View 層和 Model 層糖合在一起,當項目邏輯變得復雜的時候,可能會造成代碼的混亂,并且可能會對代碼的復用性造成一些問題。
MVP 的模式通過使用 Presenter 來實現(xiàn)對 View 層和 Model 層的解。MVC 中的Controller 只知道 Model 的接口,因此它沒有辦法控制 View 層的更新,MVP 模式中,View 層的接口暴露給了 Presenter 因此可以在 Presenter 中將 Model 的變化和 View 的變化綁定在-起,以此來實現(xiàn) View 和 Model 的同步更新。這樣就實現(xiàn)了對 View 和 Model 的解耦Presenter 還包含了其他的響應邏輯文章來源地址http://www.zghlxwxcb.cn/news/detail-424148.html
到了這里,關于什么是 MVVM?MVVM和 MVC 有什么區(qū)別?什么又是 MVP ?的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!