参考项目:TKModularization
一、分类规则
业务的主要内容分为数据、页面展示和业务逻辑。
- 数据:无论是在同一个项目中创建新的业务、添加新的扩展功能还是创建新的项目,数据的可重用部分都是很高的,有单独封装的价值;
- 页面展示:几乎不可重用。
- 业务逻辑:在通用的业务中通常是不变的,但是由于需求的制定不可预测,可重用的概率并不稳定,可以根据团队实际情况选择是否单独封装。
二、项目主要内容
- 数据、页面展示和业务逻辑分别封装,适合业务逻辑稳定的团队。本质就是MVC结构
业务组件:业务逻辑,负责页面和数据的调度
TKMInitializeModule //初始化数据管理器及工具库
TKMAccountModule //账号业务
TKMRechargetModule //充值业务页面组件:实现页面,并提供接口让业务组件可以配置 展示数据 和 交互事件
TKMAccountUIModule //账号业务
TKMRechargetUIModule //充值业务数据管理器:数据获取、运算、读、写
TKMEnvironmentManager //环境信息
TKMDeviceInfoManager //设备信息
TKMAppInfoManager //应用信息
TKMConfigManager //配置信息
TKMAccountManager //账号信息
- 数据单独封装,页面展示和业务逻辑封装在一起,这种方案比较简洁,适合业务逻辑多变的团队。
业务组件:整合业务逻辑,展示相关页面
TKMInitializeModule //初始化数据管理器及工具库
TKMAccountModule //账号业务
TKMRechargetModule //充值业务数据管理器:数据获取、运算、读、写
TKMEnvironmentManager //环境信息
TKMDeviceInfoManager //设备信息
TKMAppInfoManager //应用信息
TKMConfigManager //配置信息
TKMAccountManager //账号信息
三、完整的项目结构
主项目
TKModularization
- 项目主要内容
业务组件:整合业务逻辑,展示相关页面
TKMInitializeModule //初始化数据管理器及工具库
TKMAccountModule //账号业务
TKMRechargetModule //充值业务
数据管理器:数据获取、运算、读、写
TKMEnvironmentManager //环境信息
TKMDeviceInfoManager //设备信息
TKMAppInfoManager //应用信息
TKMConfigManager //配置信息
TKMAccountManager //账号信息
- 项目内通用内容
项目工具库:与项目相关的自定义控件、工具类
TKMRequest //网络请求库
项目资源管理器:与项目相关的资源文件存储、读取
TKMResourceManager
- 全网通用内容
组件化中间件:组件之间信息传递的介质
TKModule
通用工具库:与项目无关的自定义控件、工具类
AFNetworking
SDWebImage
Masonry
...