MVVM的再次理解

2021-10-01 21:30:39 字數 731 閱讀 1229

mvvm的理解

mvvm: model、view、viewmodel

我要著重介紹的是viewmodel, 從字面意思就能看出viewmodel是view層的model,也就是說viewmodel就是view的邏輯層。 viewmodel就是為了儲存view的相關狀態、行為,而不僅僅是view繫結的一些字段。

再舉個例子:當view收到使用者的輸入時,可以通過command等來呼叫viewmodel的處理, viewmodel繼續呼叫model層的增刪改或者通過event通知別的viewmodel處理。

也可以認為viewmodel是model的一種特殊例子。 好多model層的資料並不能直接呈現給某個view,因此需要viewmodel做包裝和轉換。換句話說, 傳統的dto(data transfer object)應該定義在viewmodel層來轉換model的某些資料。

總結下:view通過datacontext可以知道viewmodel, viewmodel不知道view!, viewmodel不應該對view有引用關係。當viewmodel對view的狀態和行為都進行了儲存時, 就能完全脫離view而存在。

和mvc的對比:

mvc一般都是controller先接受到使用者輸入, 然後controller來建立view, 而且controller建立完view後就不關心view了。下次使用者的輸入又再次先進入controller來處理。

mvvm是view先接受到使用者輸入, 然後view通知viewmodel;

對於MVVM的理解

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

MVVM模式的理解

mvvm全稱model view viewmodel是基於mvc和mvp體系結構模式的改進,mvvm就是mvc模式中的view的狀態和行為抽象化,將檢視ui和業務邏輯分開,更清楚地將使用者介面ui的開發與應用程式中業務邏輯和行為的開發區分開來。mvvm模式簡化了介面與業務的依賴,有助於將圖形使用者介...

對於mvvm的理解

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