淺談MVVM。


淺談MVVM。


1、什麼是MVVM?
MVVM即 Model-View-ViewModel 的縮寫,是一種基於前端開發的架構模式。MVVM最早由微軟提出來,它借鑑了桌面應用程序的MVC思想,在前端頁面中,把Model用純JavaScript對象表示,View負責顯示,兩者做到了最大限度的分離,把Model和View關聯起來的就是ViewModel。ViewModel負責把Model的數據同步到View顯示出來,還負責把View的修改同步回Model。

2、vue.js與MVVM
vue的設計模式是MVVM
在這裏插入圖片描述

View 通過事件綁定來操作Modle,Modle通過數據綁定來操作View

在這裏插入圖片描述

3、MVVM的設計思想
關注Model的變化,讓MVVM框架去自動更新DOM的狀態,從而把開發者從操作DOM的繁瑣步驟中解脫出來!

4、MVVM設計模式的優點
1)雙向綁定技術,當Model變化時,View-Model會自動更新,View也會自動變化。很好做到數據的一致性,不用擔心,在模塊的這一塊數據是這個值,在另一塊就是另一個值了。所以 MVVM模式有些時候又被稱作:model-view-binder模式。

  1. View的功能進一步的強化,具有控制的部分功能,若想無限增強它的功能,甚至控制器的全部功幾乎都可以遷移到各個View上(不過這樣不可取,那樣View幹了不屬於它職責範圍的事情)。View可以像控制器一樣具有自己的View-Model.

  2. 由於控制器的功能大都移動到View上處理,大大的對控制器進行了瘦身。不用再爲看到龐大的控制器邏輯而發愁了。

  3. 可以對View或ViewController的數據處理部分抽象出來一個函數處理model。這樣它們專職頁面佈局和頁面跳轉,它們必然更一步的簡化。

5、MVVM設計模式的缺點
1)數據綁定使得 Bug 很難被調試。你看到界面異常了,有可能是你 View 的代碼有 Bug,也可能是 Model 的代碼有問題。數據綁定使得一個位置的 Bug 被快速傳遞到別的位置,要定位原始出問題的地方就變得不那麼容易了。

2)一個大的模塊中model也會很大,雖然使用方便了也很容易保證了數據的一致性,當時長期持有,不釋放內存就造成了花費更多的內存。

3)數據雙向綁定不利於代碼重用。客戶端開發最常用的重用是View,但是數據雙向綁定技術,讓你在一個View都綁定了一個model,不同模塊的model都不同。那就不能簡單重用View了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章