写在开篇
九月开始了一个新项目,每次开新项目都是时间紧任务重,于是开始从无到有,创建空工程、分好各文件夹层级(Common、UI、Resource、Utils、Define、Service、Model等)、从旧项目里移工具类(Category、UIUtlis等)、使用cocoapods配置管理第三方库(AFNetworking、YYModel等),然后就开始撸起袖子敲代码了。
最近每天早上都会开会对对进度,顺便讨论下遇到的问题什么的。没想到十一加班时,老大问我和另一个安卓同事,关于整个项目的架构,是怎么想的。虽然从实习到现在两年多了,也做过并从头做了几个项目了,但原来都是看别人搭建框架,我负责完成具体模块就够了,老大提问顶多是“描述下咱们这个项目的架构是什么样的?”记得当时也主要就是从文件夹的角度说了下咱们项目有哪些模块,各个模块负责哪些功能并怎样交互之类的。但那天我从层的角度回答后,老大虽然觉得有所提高,但还是不够完整,也没有以架构的角度思考整个项目。
想了想,这个新项目确实是个好机会,它可以由我从头架构好好发挥,于是那天十一就想着,十一加班后休息时一定要好好学习下大牛们的经验教训。昨天我的“三天小长假”开始了,花了一天把“内务”整理了下,今天终于可以开始安心学习了,先开个篇,这两天陆续会贴出来值得学习的博客和我自己的总结。
拜读文章
1、架构总结对比
2、MV(X)设计模式
iOS 架构模式–解密 MVC,MVP,MVVM以及VIPER架构
3、组件化:
个人总结
在对iOS应用架构从头学起的情况下,我先选择了一篇综合性的讲解博客iOS 应用架构现状分析来了解,作者按照四类架构分别进行举例讲解,即:
第一类:精简型应用架构(举例即iOS 架构模式–解密 MVC,MVP,MVVM以及VIPER架构)
第二类:综合型应用架构(举例即饿了么移动APP的架构演进)
第三类:深度优化的综合型应用架构
第四类:组织型应用架构
其中,前两类满足我目前架构所需,而我个人认为三首先是超级APP才会面对的问题,其次与综合型应用架构相比深度优化的综合型应用架构更多是因为希望性能更优、模块粒度更细而做出对应进一步的优化或者重造轮子,而在架构思想上,与二是大同小异的,所以我在浏览完整篇文章和各类代表架构详解文后,重点根据饿了么移动APP的架构演进和我们项目现状,理出了自己对当前项目的架构想法。(后续会继续横向阅读相关文章或者根据项目调整更新思路和博客,这是后话。)
刚才手写了份草稿,等我做出份电子版后再贴出来