MVVM
它和常见又熟悉的MVC比较类似,我把这种架构模式理解为MVC的演变和优化.关于他们的对比,我想看过一些文章总是会有一些理解的.但真正意识到他们的差别和优缺点,还是要切实实践起来.
当你的代码越来越健壮,越来越易修改和维护,你也会乐在其中~
Don't BB, you need code!
先说两大优点
- 低耦合 :由于ViewModel中抽离出来了部分逻辑 使得视图(View)可以独立于Model变化和修改
- 可重用 : 处理试图逻辑的ViewModel 可以绑定在多个view上
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
网友评论