移动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 (模块功能【个人中心】)
坚持原创技术分享,您的支持将鼓励我继续创作!