浅谈MVVM架构

jopen 8年前

一直以来,iOS应用开发中使用的都是MVC架构,M:model,V:View,C:Controller 三者独立开来大大减少MV之间的耦合度,与此同时给C层带来沉重的负担,随着项目开发度的增大,致使C层代码异常复杂。然而近年新出的MVVM架构有取代MVC架构的趋势。

什么是MVVM架构呢?其实它就是一个MVC架构的增强版,我们正式连接了视图和控制器,并将表示逻辑从Controller移出放到一个新的对象里,即View Model。MVVM架构听起来很复杂,但它本质上就是一个精心优化的MVC架构,而 MVC架构你早已熟悉。它正式规范了视图和控制器紧耦合的性质,并引入新的组件。

在MVVM架构里,view和view controller正式联系在一起,我们把它们视为一个组件。视图view仍然不能直接引用模型model,当然controller也不能。相反,他们引用视图模型view model。view model是一个放置用户输入验证逻辑,视图显示逻辑,发起网络请求和其他各种各样的代码的极好的地方。有一件事情不应归入view model,那就是任何视图本身的引用。

然而要在项目中使用MVVM架构,那与其匹配使用的非ReactiveCocoa框架莫属了,至于ReactiveCocoa框架详细使用,本文暂不介绍。建议入门不久的开发者可以适当学习下MVVM架构来开发应用,有经验的开发者可以把尝试项目中MVC架构换成MVVM架构哦。

来自: http://www.cnblogs.com/ac1217/p/5142414.html