iOS-OC中级MVVM 参考资料ios 知识点

iOS架构

2016-01-23  本文已影响1301人  松哥888

三层模式

一般的iOS教程,都是MVC,从界面到数据,一次搞定。从网络读取数据,然后根据实际情况,将数据处理一下,就在界面上显示。M是指数据,一般都是类型定义;VC一般都在controller中实现,特别是代码写界面的实现。这样就导致controller任务很重,几乎做了所有的事情。所以,iOS一般不需要架构,因为controller几乎可以一步到位,而MVC的概念又足够简单,无需再分层,只要考虑如果分模块,分任务就可以了。这就是现状。
iOS中的MVC看起来是三层,但是在现实中就是一层,一步到位。在现状的基础上往前走一小步,就是我们现状考虑的iOS架构。目的有两个, 一个是分三层,让理念和现实更接近,就分三层先固化下来。另一个是降低controller的复杂度,将界面,逻辑,数据处理的内容都分离出去,只保留调度者的作用。在分层中,将view和controller都分到界面层,因为view不能离开controller单独存在。在这里controller就相当于一个大总管,不做具体的事,一方面让view有展示的机会,另一方面,让逻辑层函数有表现的机会。
iOS开发绕不过的两个交互界面,一是产品和设计,特点是多变,而且变的成本很低;二是后台MTP,特点是基本上不愿意变,变得也很慢。等这两者都差不多了,才轮到iOS开发自己,那个时候就发现压力全来了,前面等,浪费很多时间,现在加班也来不及。为了解决这种被动局面,可以考虑把当前MVC一步到位的模式分为界面,逻辑,数据三部分。界面跟设计对接,数据跟后台MTP对接,这两层都尽量薄,不需要太多考虑复用的问题,胶水代码或者尽量不用代码,关键是应对要快,改起来方便。逻辑层,尽量大,尽量能复用,模块可以分得多,分得细,降低耦合度,并且随着业务发展,可以沉淀出很多自己独特的内容。

从MVC过渡到MVVM

从Cocoa Pods过渡到 Carthage

ViewController瘦身

文件命名

参考文章

iOS应用架构谈 开篇
iOS APP 架构漫谈

上一篇 下一篇

猜你喜欢

热点阅读