MVVM

MVVM 是 Model-View-ViewModel 的簡寫,MVVM 模式和 MVC 模式同樣,主要目的是分離視圖(View)和模型(Model)

接下來給你們分享一個總結的MVVM,來吧------------------------網絡

  • MVC 存在的問題
    • 模型的代碼不多
    • 控制器的代碼一不當心就愈來愈多
    • 很差測試

MVVM

  • MVVM 結構圖

  • MVVM 概念mvc

    • 在 MVVM 中,view 和 view controller 正式聯繫在一塊兒,咱們把它們視爲一個組件
    • view 和 view controller 都不能直接引用 model,而是引用視圖模型
    • view model 是一個放置用戶輸入驗證邏輯,視圖顯示邏輯,發起網絡請求和其餘代碼
  • MVVM 使用注意事項mvvm

    • view 引用 view model,但反過來不行
    • view model 引用了 model,但反過來不行
    • 若是咱們破壞了這些規則,便沒法正確地使用 MVVM

MVVM 的優勢

  • 低耦合:View 能夠獨立於 Model 變化和修改,一個 ViewModel 能夠綁定到不一樣的 View 上
  • 可重用性:能夠把一些視圖邏輯放在一個 ViewModel 裏面,讓不少 view 重用這段視圖邏輯
  • 獨立開發:開發人員能夠專一於業務邏輯和數據的開發 ViewModel,設計人員能夠專一於頁面設計
  • 可測試:一般界面是比較難於測試的,而 MVVM 模式能夠針對 ViewModel 來進行測試

MVVM 是 Model-View-ViewModel 的簡寫,MVVM 模式和 MVC 模式同樣,主要目的是分離視圖(View)和模型(Model)測試

MVC 回顧

  • MVC 結構圖

  • MVC 存在的問題
    • 模型的代碼不多
    • 控制器的代碼一不當心就愈來愈多
    • 很差測試

MVVM

  • MVVM 結構圖

  • MVVM 概念spa

    • 在 MVVM 中,view 和 view controller 正式聯繫在一塊兒,咱們把它們視爲一個組件
    • view 和 view controller 都不能直接引用 model,而是引用視圖模型
    • view model 是一個放置用戶輸入驗證邏輯,視圖顯示邏輯,發起網絡請求和其餘代碼
  • MVVM 使用注意事項設計

    • view 引用 view model,但反過來不行
    • view model 引用了 model,但反過來不行
    • 若是咱們破壞了這些規則,便沒法正確地使用 MVVM

MVVM 的優勢

  • 低耦合:View 能夠獨立於 Model 變化和修改,一個 ViewModel 能夠綁定到不一樣的 View 上
  • 可重用性:能夠把一些視圖邏輯放在一個 ViewModel 裏面,讓不少 view 重用這段視圖邏輯
  • 獨立開發:開發人員能夠專一於業務邏輯和數據的開發 ViewModel,設計人員能夠專一於頁面設計
  • 可測試:一般界面是比較難於測試的,而 MVVM 模式能夠針對 ViewModel 來進行測試
相關文章
相關標籤/搜索