iOS開發筆記>> MVVM和MVC設計模式的分析

MVC:

 Model, View, Controler 


view (UI 層): view 只負責展示從 controller 接受到數據. 也就是把 model 轉化成 UI

model (數據層): 不能直接與 controller 通訊, 因爲 model 是獨立於 UI 存在的

controller: 通過 view 來接受用戶的輸入, 之後利用 model 來處理用戶數據, 最後把結果返回給 view. 它是 view 和 model 之間的一個協議者.  

controller, view, model 各司其責互不干擾


存在的問題: 

模型(model)代碼很少

控制器(controller)的代碼一不小心就越來越多

不好測試


MVVM:

Model, viewModel, view和Controller


MVVM 中, view 和 viewController 正式聯繫在一起, 把他們視爲一個組件

view 和 viewController 都不能直接引用 model, 而是引用視圖模型

viewModel 是一個放置用戶輸入驗證邏輯, 視圖顯示邏輯, 發起網絡請求和其他的代碼


MVVM 模式關鍵點: 

用戶和 view 交互

view 和 viewModel 是多對一關係. 意味着一個 viewModel 只映射多個 view

view 持有 viewModel 的引用, 但是 viewModel 沒有任何 view 的信息

view 和 viewModel 之間有雙向數據綁定關係


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章