码迷,mamicode.com
首页 > 其他好文 > 详细

MVVM架构的理解

时间:2015-12-14 21:27:41      阅读:373      评论:0      收藏:0      [点我收藏+]

标签:

     最早的时候,只知道MVC(模型+视图+控制器). 把数据的管理与显示分开, 通过控制器实现管理与显示之间的互动, 方便开发与复用.

     美好的事情总是很快发生, 在6月份接手的项目中,看到这样的代码, 把视图显示和数据处理的代码放在ViewController里面, 这连MVC 的标准都不是.

     之前我经常这样用,把数据单独一层来处理, 然后在数据层里面实现数据的持久化(本地化), 这层就是通常锁说的 S .所用架构就是 MVC S 

    MVC S 通过把数据存储抽离, 是对MVC做的简化.

     不管用到MVC 还是 MVC S,都会产生的问题: 视图控制器因为初期需求的频繁迭代,慢慢的积累下越来越多的业务逻辑代码,相对应的数据转换代码页越来越多.从而导致ViewController越来越大,后期维护越来越难. 

     业界广泛使用MVVM: 

      首先看一个典型的IOS是如何创建的:从这里理解MVVM 

        技术分享

       这是一个典型的MVC设置, Model呈现数据, View呈现用户界面,ViewController完成他们两者之间的交互,一切看起来是那样的完美.

       如果我们稍微深一点考虑, 虽然View 和ViewController都是不同的组件, 但每次都是配对使用.

         技术分享

        技术分享

         

           这个图解很好的描述了MVVM, 一个MVC 的增强版. 将视图和控制器连接, 并将表示逻辑从Controller移到一个新的对象中,即View Model. MVVM听起来很高大上,其实就是优化了MVC架构.

          MVVM 中的ViewModel就是把数据的展示逻辑从VC中拆分出来,数据经ViewModel出来后,可直接用于View显示

      

            

 

MVVM架构的理解

标签:

原文地址:http://www.cnblogs.com/jinxin680/p/5046413.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!