想要了解MVVM开发模式,首先要知道MVC的模式
Typical Model-View-Controller setup这是一个典型的MVC设置,Model 呈现数据,View 呈现用户界面,而 View Controller 调节它两者之间的交互。在典型的 MVC 应用里,许多逻辑被放在 View Controller 里。它们中的一些确实属于 View Controller,但更多的是所谓的“表示逻辑(presentation logic)”,以 MVVM 属术语来说,就是那些将 Model 数据转换为 View 可以呈现的东西的事情,例如将一个NSDate转换为一个格式化过的NSString或者一些数据的动态计算。这些都堆积在View Controller中,有时候自己看着都觉得挺不舒服的。显得代码十分臃肿。
http://img.objccn.io//issue-13/mvvm.png在图中的View Model的存在就是为了将这些逻辑放进去而存在的!
那么,到底MVVM是什么呢?一个 MVC 的增强版,我们正式连接了视图和控制器,并将表示逻辑从 Controller 移出放到一个新的对象里,即 View Model。MVVM 听起来很复杂,但它本质上就是一个精心优化的 MVC 架构。
MVVM的好处在哪里呢?
1、跟你目前使用的MVC完全没有冲突,可以完美的兼容。同时优化你的结构。
2、MVVM 增加你的应用的可测试性。
3、MVVM 配合一个绑定机制效果最好。
所以说,MVVM基本上是属于一个优化加强版的MVC。
目前还在学习中,有新的地方随时更新,图片来自网络,侵删。
网友评论