1. MVVM模式初探

    Author: Charles Zhu
    Summary: 设计模式

    MVC的无奈

    MVC结构是学习iOS开发的人最先学习的一种开发模式,apple提倡以MVC为中心的开发模式。因为它很好的解构了应用场景中相关而又各自独立的部分:视图,视图控制器和数据模型。在MVC的世界里,控制器负责将模型中的数据以内容的形式展现到视图中,同时也把视图上产生的数据变化传递给模型从而将这种变化持久化。于是,在稍微复杂的app中,控制器中的内容会很庞大:网络操作,数据存储,手势响应等等。几乎可以确定,如果app需要添加新功能,超过一半的新增代码是添加在控制器中,这样不可避免的造成控制器的冗余以及大段无法重用的重复代码。
    在开始MVVM时,我们可以稍稍考虑下现有MVC的问题。

    视图

    毋庸置疑,视图的作用很重要,但在设计中,视图是否需要和控制器,数据模型同等的地位呢?要知道绝大多数情况下,视图是不会重用的,往往“耦合”在视图控制器中,所以往往代码中有几个view controller,就能知道程序会有几个页面。此外,视图中的UI元素也是直接作为变量存在在控制器代码中,因为只有这样才方便刷新。很显然,视图控制器就可以代表视图本身。

    控制器

    控制器需要把模型代表的数据以合适的形式显示在视图上,这样免不了需要处理(当然也有不需要处理的简单情况 ...

    Tagged as : iOS mvvm mvc pattern

Page 1 / 1