MVC,MVVM模式的理解


基本上,我們的產品就是通過接口從數據庫中讀取數據,然后將數據經過處理展示到用戶看到的視圖上。當然我們還可以從視圖上讀取用戶的輸入,然后通過接口寫入到數據庫。但是,如何將數據展示到視圖上,又如何將用戶的輸入寫入到數據庫中,很多人都有自己的想法,因此也就出現了很多種架構設計。

1. MVC(Model-View-Controller)

Model(模型):數據層,負責存儲數據

View(視圖):展現層,用戶所看到的頁面

Controller(控制器):協調層,負責協調Model和View,根據用戶在View上的動作在Model上作出對應的更改,同時將更改的信息返回到View上。

MVC 架構通常是使用控制器更新模型,視圖從模型中獲取數據去渲染。當用戶有輸入時,會通過控制器去更新模型,並且通知視圖進行更新。但是MVC有一個巨大的缺陷就是控制器承擔的責任太大了,隨着項目愈加復雜,控制器中的代碼會越來越臃腫,導致出現不利於維護的情況。

2.MVVM(Model-View-ViewModel)

Model 代表數據模型,數據和業務邏輯都在Model層中定義

View 代表 UI 視圖,負責數據的展示

ViewModel 負責監聽 Model 中數據的改變並且控制視圖的更新,處理用戶交互操作;

Model 與 View 沒有直接的關聯,而是通過 ViewModel 來進行聯系的,View 與 ViewModel 之間有着雙向數據綁定的聯系。因此,View 中由於用戶交互操作而改變的數據也會在 Model 中同步, Model 中的數據發生改變時會觸發View 層刷新, 所以,開發者只需要專注對數據的維護操作即可,不需要操作 dom。

MVVM 本質上就是 MVC 的改進版。MVVM 就是將其中的View 的狀態和用戶的行為抽象化,讓我們將視圖 UI 和業務邏輯分開。

 


免責聲明!

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



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