从事iOS研发已经有七八年了,做过很多项目(涉及金融、越狱、商城、硬件等等),见过很多很多框架,最主流的是MVC和MVVM;但是个人从事多年来觉得这些架构都基本上基于业务层面!故记录个人项目中的经验:
如下图:
个人喜欢对总共项目分为三个层次:系统层、业务层和交互层;
系统层:网络框架、书架处理、本地持久化、和公共组件、硬件交互(硬件项目:比如蓝牙、wifi等);系统层基本上封装framework,或者建立私有cocoapod;
业务层:主要采用MVC或者MVVM模式设计,实现模块化或者组件化:(用户模块、购物车模块、交易模块等);组件化:(订单组件、用户组件等等);
交互层:这一层不包含业务层的View;主要为自定义控件,例如:自定义键盘、自定义表情等;还有包含一些动效,例如:水波效果,K线图等;