怎樣理解 MVVM ( Model-View-ViewModel ) ?


MVVM 的 產生 / 實現 / 發展 可以寫一篇很長的博客了, 這里僅寫一下個人對 MVVM 的一些膚淺的認識. 

1. 在 沒有 MVVM 之前, 前端可以說是 jQuery一把梭 , jQuery 解決的是前端在寫頁面 交互/ 功能 時需要 頻繁操作 dom 這一痛點, 在 簡化 dom 操作 這一點上, 沒有哪個庫比 jQuery 更出色. 而且還能解決大部分 瀏覽器兼容性問題 , 用起來別提有多爽了.

 

2. 然而, 隨着 網速 越來越快 / 手機性能 越來越好, 大家紛紛覺得可以在 網頁 上多做文章, 而且 HTML5ES6 的出現為開發者在 網頁 上做 應用 提供了極大的便利, 此時人們發現, 原來非常好用的 jQuery 慢慢變得不合適了, 因為它沒有解決 因為頻繁調用 DOM 而產生的 性能問題 , 也沒有簡化開發者在處理用戶與頁面交互時所需的業務邏輯

 

3. 為了解決上面的問題, MVVM 架構方式應運而生 , Model-View-ViewModel 的這個思想可能是受到了服務端的 MVC 架構 ( Model-View-Controler ) 的啟發, 不過 MVVM 針對 前端的具體痛點, 強化了 Controler, 也就是: ViewModel, 我們可以認為 MVVM 里面最為核心的就是 ViewModel. 它將 ViewModel 分離, 也就實現了 邏輯展示 的分離, 使得我們可以不用像之前一樣需要頻繁地操作 DOM, 也不需要手動地去更新 數據( model )頁面( view ). 這一切, ViewModel 都已經為我們做好了, 我們唯二需要做的就是: 1. 寫頁面. 2. 寫邏輯. 至於怎樣將邏輯和頁面關聯起來實現交互, ViewModel 表示: 這事兒你就不用管了, 讓我來~.

 

 

4. 總結起來, MVVM 可以看成是 MVC 架構針對前端主要開發場景所衍生出來的 子集, 它對 視圖模型 進行了 嚴格分離, 強化了 Controler, 從而解決了在開發 現代Web應用 時所遇到的痛點.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM