iOS中MVVM架构 浅显理解

MVVM

它和常见又熟悉的MVC比较类似,我把这种架构模式理解为MVC的演变和优化.关于他们的对比,我想看过一些文章总是会有一些理解的.但真正意识到他们的差别和优缺点,还是要切实实践起来.

当你的代码越来越健壮,越来越易修改和维护,你也会乐在其中~

Don't BB, you need code!
先说两大优点
  • 低耦合 :由于ViewModel中抽离出来了部分逻辑 使得视图(View)可以独立于Model变化和修改
  • 可重用 : 处理试图逻辑的ViewModel 可以绑定在多个view上
iOS中MVVM架构 浅显理解_第1张图片
别人画的一个比较清晰易懂的图
Model

数据传输对象

View

相对于MVC模式 真正的成为了View层 包括View和ViewController两部分
但是view还是那个view VC却是瘦了的VC
View负责展示UI视图
ViewController负责绑定 viewModel 中的属性,触发 viewModel 中的命令

ViewModel

专治疑难杂症的地方 ,在这里可以处理业务逻辑,视图显示逻辑,也就是把传统MVC中ViewController臃肿冗长的业务逻辑,网络请求等单独提炼出来,达到ViewController的最大瘦身(这里不能处理UI层,也就是说不要导入UIKit).

相对MVC中view controller逻辑复杂,进行单元测试也是非常艰巨的...而MVVM中view model包含了所有的展示逻辑并且不会引用view,所以它可以通过编程方式充分测试

老生常谈的事情 这没过多营养的文章 只当记录罢

参考文章
http://www.cnblogs.com/brycezhang/p/3840567.html
http://www.jianshu.com/p/ffcb84dc4ebc
https://github.com/lizelu/MVVM

你可能感兴趣的:(iOS中MVVM架构 浅显理解)