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 之间有双向数据绑定关系


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