MVVM和MVC的區別,以及MVVM的缺點

MVVM和MVC的區別html

MVC和MVVM的區別其實並不大。都是一種設計思想。前端

主要就是MVC中Controller演變成MVVM中的viewModel。設計模式

MVVM主要解決了MVC中大量的DOM操做使頁面渲染性能下降,加載速度變慢,影響用戶體驗。框架

當和Model頻繁發生變化,開發者須要主動更新到View。函數

 

MVVM:是Model-View-ViewModel的簡寫佈局

 

M:對應於MVC的M性能

V:對應於MVC的Vspa

VM:ViewModel,是把MVC裏的controller的數據加載,加工功能分離出來設計

 

MVVM是Web前端一種很是流行的開發模式,雙向綁定

利用MVVM可使咱們的代碼更加專一於處理業務邏輯而不是去關心DOM操做。

目前著名的MVVM框架有VUE,avalon,angular等

 

MVVM設計模式的優勢

1.  雙向綁定技術,當Model變化時,View-Model會自動更新,View也會自動變化。很好的作到數據的一致性

2.  因爲控制器的功能大都移動到View上處理,大大的對控制器進行了瘦身

3.  View的功能進一步強化,具備控制的部分功能,

     若想無限加強它的功能,甚至控制器的所有功能幾乎均可以遷移到各個View上

 (不過這樣不可取,那樣View幹不了屬於它職責範圍內的事情)。

    View能夠像控制器同樣具備本身都View-Model

 

4.  能夠對View或ViewController的數據處理部分抽象出來一個函數處理model。 

      這樣它們專職頁面佈局和頁面跳轉,它們必然更一步的簡化。

 

MVVM設計模式的缺點

1.  數據綁定也使得bug很難被調試。好比你看到頁面異常了,有多是你的View的代碼有bug,也多是你的model的代碼有問題。數據綁定使得一個位置的Bug被快速傳遞到別的位置,要定位原始出問題的地方就變得不那麼容易了。

2.  數據雙向綁定不利於代碼重用。客戶端開發最經常使用的是View,可是數據雙向綁定技術,讓你在一個View都綁定了一個model,不一樣的模塊model都不一樣。那就不能簡單重用view了

3.  一個大的模塊中model也會很大,雖然使用方便了也很容易保證數據的一致性,可是長期持有,不釋放內存就形成話費更多的內存。

原文出處:https://www.cnblogs.com/mlw1814011067/p/10400240.html

相關文章
相關標籤/搜索