IOS开发iOS iOS学习笔记

MVVM的随笔

2016-05-30  本文已影响273人  iYeso

MVVM 是 Model-View-ViewModel 的简写,MVVM 模式和 MVC 模式一样,主要目的是分离视图(View)和模型(Model)

MVC 回顾


MVC示意图.png

MVC 存在的问题

  1. 模型的代码很少
  2. 控制器的代码一不小心就越来越多
  3. 不好测试
  4. 控制器将模型数据拿到来到view上显示 这样造成控制器的代码块较多 逻辑复杂, 不利于扩展

MVVM

MVVM 结构图

Paste_Image.png

MVVM 概念
在 MVVM 中,view和 view controller 正式联系在一起,我们把它们视为一个组件
view和 view controller都不能直接引用 model,而是引用视图模型
view model是一个放置用户输入验证逻辑,视图显示逻辑,发起网络请求和其他代码

MVVM 使用注意事项

  1. view 引用 viewmodel, 但反过来不行
    view model, 引用了 model,但反过来不行
    如果我们破坏了这些规则,便无法正确地使用 MVVM

MVVM 的优点
2.0: 低耦合:View可以独立于 Model变化和修改,一个 ViewModel可以绑定到不同的 View上

2.1: 可重用性:可以把一些视图逻辑放在一个 ViewModel里面,让很多 view
重用这段视图逻辑

2.2: 独立开发:开发人员可以专注于业务逻辑和数据的开发 ViewModel,设计人员可以专注于页面设计

2.3 可测试:通常界面是比较难于测试的,而 MVVM 模式可以针对 ViewModel
来进行测试

上一篇 下一篇

猜你喜欢

热点阅读