项目架构设计和模块分解

项目架构设计和模块分解

1. 注解Module

名称:annotations,类型:Java Library;
提供代码生成器所需注解。

2. 代码生成器Module

名称:compiler,类型:Java Library;
从注解获取信息,通过annotationProcessor生成代码。

3. 核心Module

名称:core,类型:Android Library;
路由架构:统管整个App的数据流转;
HTTP请求:高通用、高性能的网络请求框架;
照相及图片裁剪:封装拍照、裁剪照片的代码,供业务模块使用;
具有共性的通用UI:例如,拍照界面,后台执行任务时的加载动画;
通用的工具:例如,文件处理,SQLite数据库的操作,字符串的持久存储等;
诸多重复的处理。

4. 业务Module

名称:ec,类型:Android Library;
相应一类业务的特殊UI;
相应一类业务的特殊逻辑;
相应一类业务的特殊处理。

5. 具体项目Module

名称:app,类型:Android Application;
项目特有的个别功能;
只有该项目需要的第三方库;
只有该项目需要更改的UI和逻辑;
需要在App中使用的一些签名和认证。