我们遇到的很多项目并不是从零开始的,更多的是需要产品迭代和更新的!在项目业务趋于稳定的时候,iOS攻城狮闲的xxx!
这个时候,可以考虑优化和完善项目了!!!
项目
1、结构和架构(有的是架构,小项目叫结构)
结构 : 1、文件目录分类 2、第三方库管理
文件目录分类
了方便管理,最好将Xcode中的项目展示目录与实际的存储目录保持一致。
此外,一般按业务模块分类,一级目录可以按照MVC格式,也可以按照业务模块划分
ps:
用最普遍的Model View Controller架构举例:
以一个基础的电商项目来解释,4个tabbarItem对应着四大模块,首页、分类、购物车、个人中心,往下每个还可以细分为MVC+Session层
按项目架构来分
ps:
最外层为Model、View、Controller、Session层,内部才是业务模块
这一块无需多言,两者配合使用即可
第三方库管理
管理方面有三种方式:
1、手动管理
2、手动维护各种第三方库,适合于已经趋于稳定、极少Bug的三方库
3、CocoaPods
4、Carthage
这里很推荐使用 Carthage,对项目的入侵性很小,并且是中心化管理,可以尝试一下,如果其他需求,请自便!!
项目架构 - 大项目 - 推荐使用 MVVM 结构
项目架构
ps:
项目逻辑基本都围绕了一条主线时,我们采用MVC已经可以很好的满足我们的需求,但是当业务逻辑日渐复杂的时候,我们单纯的采用Model View Controller这种编程模式已经不能很好的将业务逻辑与代码分离开,也就是逻辑解耦;
为了更好的将ViewController解耦,产生了Model View ViewModel这种编程模式,ViewModel层其实做了一层Model与ViewController中间的桥接,有利有弊,该模式会产生很多胶水代码,但是配合响应式编程框架(如 ReactiveCocoa或者RxSwift),可以做到最大程度的解耦。适合与自己实际项目业务复杂程度的模式才是好的编程模式。
未完待续!写不下去了!!