移动app应用架构总结

提供了一个企业级的 app 应用架构详细描述

1 移动app应用架构

1.1 框架总架构

层 | 功能描述
—-|
|
subModule| 模块内分子功能
module | 应用内分模块
core | 与应用相关基础库
base | 与应用上层无关基础库

1.2 各层分述

1.2.1 base 基础框架层

基础框架层

此层里放的都是互不相干的基础库,主要包括:

层类别|功能点
—-|
网络 network | 应用内分模块
数据层处理 model | 数据模型库、数据缓存
编解码 encode | 加解密
文件管理 filemanager |
照片相关 image | graphics图像处理、camera相机、album相册
时间处理 date | 对时间的处理、转换等
资源处理 resource | 对颜色、字符串等的处理
类扩展 categories(iOS) | iOS特有的对类的扩展方法
宏 macros | 为编程方便提供的一些脚手架宏等
设备相关 device | 设备信息、定位、地图、加速度
日志系统 log |

1.2.2 core 应用核心层

应用核心层

此层里放与应用相关联的基础库,主要包括:

层类别|功能点
—-|
应用生命周期 appDelegate | 管理应用的生命周期
应用全局对象管理 appContext | 管理应用中的全局对象
应用配置 appConfig | 各种配置类
用户统计 statistic | 一般统计、crash统计
push |
分享 share |
view控件 views |

1.2.3 module 应用模块层

层类别|功能点
—-|
busniss | 模块对外对内暴露的业务/数据模型(对外提供的数据模型)
subModules | 各个子功能

1.2.4 subModules 模块功能层

层类别|功能点
—-|
controller | 视图控制器,组合子功能业务
view | 视图
viewModel | 对视图提供数据支持的模型/request类
model | 完成内部逻辑需要的数据模型

1.3 实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Project(项目主目录)
├── Base (基础框架层)
├── Core (应用核心层)
└── Module (模块层)
|
├── Login(模块功能【登录功能】)
| |
│   ├── Business(业务)
│   │   ├── LoginBusniss.xx
│   │   ├── LoginRequestFactory.xx
│   │   └── Model
| |
│   ├── Login(模块子功能【登录】)
│   │   ├── Controller(控制层)
│   │   ├── View(视图层)
│   │   └── ViewModel(填充视图层的数据适配层)
| |
│   └── Register(模块子功能【注册】)
│   ├── Controller
│   ├── View
│   └── ViewModel
|
└── PersonalCenter (模块功能【个人中心】)