mvvm 由 model、view、viewmodel 三部分構成,model 表示資料模型,也可以在model中定義資料修改和操作的業務邏輯;view 表示網頁ui 元件,它負責將model中的資料在網頁中展示出來,viewmodel 是乙個同步view 和 model的中間物件
如上圖所示,在mvvm架構下,view 和 model 之間並沒有直接的聯絡,而是viewmodel 通過雙向資料繫結把 view 層和 model 層連線了起來,view 和 model 之間的同步工作完全是自動的,無需人為干涉,因此開發者只需關注業務邏輯,不需要手動操作dom, 不需要關注資料狀態的同步問題,複雜的資料狀態維護完全由 mvvm 來統一管理。
優點:
雙向資料繫結,當model或者view資料發生變化時,view model會將二者的資料自動更新,開發者不用為檢視資料發愁
缺點:
1、資料繫結使得 bug 很難被除錯,你看到介面異常了,有可能是你 view 的**有 bug,也可能是 model 的**有問題。資料繫結使得乙個位置的 bug 被快速傳遞到別的位置,要定位原始出問題的地方就變得不那麼容易了。
2、乙個大的模組中model也會很大,雖然使用方便了也很容易保證了資料的一致性,當時長期持有,不釋放記憶體就造成了花費更多的記憶體。
3、資料雙向繫結不利於**重用。客戶端開發最常用的重用是view,但是資料雙向繫結技術,讓你在乙個view都繫結了乙個model,不同模組的model都不同。那就不能簡單重用view了。
MVVM框架設計模式的簡單理解
model view viewmodel是一種軟體架構設計模式,這些模式也是依次進化而形成mvc mvp和mpf mvvm,是一種簡化使用者介面的事件驅動程式設計形式。mvvm 源自於經典的 model view controller mvc 模式 mvvm 的出現促進了前後端邏輯分離,提高了前端開...
對於MVVM的理解
參考 一 mvvm 分為3個模組 1.view 2.viewmodel 3.model 關係為 二 mvvm出現的原因 傳統mvc模式中controller中做了太多的資料加工的事情,隨著軟體規模的增長,越來越不好維護。越來越不好測試。所以mvvm把資料加工的任務從controller中解放了出來。...
MVVM的再次理解
mvvm的理解 mvvm model view viewmodel 我要著重介紹的是viewmodel,從字面意思就能看出viewmodel是view層的model,也就是說viewmodel就是view的邏輯層。viewmodel就是為了儲存view的相關狀態 行為,而不僅僅是view繫結的一些字...