MVVM的理解,及MVVM與MVC的區別

2021-10-06 08:06:54 字數 750 閱讀 5274

model:很簡單,就是業務邏輯相關的資料物件,通常從資料庫對映而來,我們可以說是與資料庫對應的model。

view:也很簡單,就是展現出來的使用者介面。

基本上,絕大多數軟體所做的工作無非就是從資料儲存中讀出資料,展現到使用者介面上,然後從使用者介面接收輸入,寫入到資料儲存裡面去。所以,對於資料儲存(model)和介面(view)這兩層,大家基本沒什麼異議。但是,如何把model展現到view上,以及如何把資料從view寫入到model裡,不同的人有不同的意見。

mvc派的看法是,介面上的每個變化都是乙個事件,我只需要針對每個事件寫一堆**,來把使用者的輸入轉換成model裡的物件就行了,這堆**可以叫controller。

而mvvm派的看法是,我給view裡面的各種控制項也定義乙個對應的資料物件,這樣,只要修改這個資料物件,view裡面顯示的內容就自動跟著重新整理,而在view 裡做了任何操作,這個資料物件也跟著自動更新,這樣多美。所以:

viewmodel:就是與介面(view)對應的model。因為,資料庫結構往往是不能直接跟介面控制項一一對應上的,所以,需要再定義乙個資料物件專門對應view上的控制項。而viewmodel的職責就是把model物件封裝成可以顯示和接受輸入的介面資料物件。

至於viewmodel的資料隨著view自動重新整理,並且同步到model裡去,這部分**可以寫成公用的框架,不用程式設計師自己操心了。

簡單的說,viewmodel就是view與model的聯結器,view與model通過viewmodel實現雙向繫結。

----摘自正美的5群

MVC與MVVM的理解

mvc,mvp,mvvm是三種常見的前端架構模式,通過分離關注點來改進 組織方式。mvc模式是mvp,mvvm模式的基礎,這兩種模式更像是mvc模式的優化改良版,他們三個的mv即model,view都是相同的,不同的是mv之間的橋梁連線部分。本文是對的乙個總結。mvc允許在不改變檢視的情況下改變檢視...

MVVM模式理解

mvvm 是 model view viewmodel 的縮寫。model代表資料模型,也可以在model中定義資料修改和操作的業務邏輯。view代表ui 元件,它負責將資料模型轉化成ui 展現出來。viewmodel監聽模型資料的改變和控制檢視行為 處理使用者互動,簡單理解就是乙個同步view 和...

對於MVVM的理解

參考 一 mvvm 分為3個模組 1.view 2.viewmodel 3.model 關係為 二 mvvm出現的原因 傳統mvc模式中controller中做了太多的資料加工的事情,隨著軟體規模的增長,越來越不好維護。越來越不好測試。所以mvvm把資料加工的任務從controller中解放了出來。...