目标:高内聚,低耦合;可复用,可扩展
系统分层(自上而下)
1. 应用层
2. 文件系统
3. 多个驱动插件(硬件控制)
4. 系统内核(资源分配管理)
软件粒度划分
1. 系统
2. 项目
3. 程序
4. 功能模块
a. 通用组件
i. 日志系统
ii. 配置文件
iii. 文件存储
iv. 数据库
v. 通信:http协议/socket(内容加密/消息协议)
vi. 升级
vii. 对象池/线程池/数据库连接池
viii. 内存池
b. 依赖库
c. 硬件
d. 界面
e. 开源框架集成
应用程序层次结构
1. 表示层(UI显示)
2. 逻辑层(业务逻辑处理数据)
3. 数据操作层(get/set原始数据)
4. 数据传输:单向传输,避免回路