分成设计
层的定义
- 层:软件的逻辑单元
- 每一层都有特定的功能
- 组件被分配到不同层
何谓分层
将系统按照职责拆分和组织
上层依赖于直接下层
- 下层不可以依赖于上层
- 不可以跃层访问
如何设计分层架构:定义职责
- 高层表示规则,底层表示实现细节
- 逻辑内聚,自治分组
- 依据组织职责分工
如何设计分层架构:定义技术栈
- 根据每层的需求各自选定
- 借鉴成功案例
- 部署方式
如何设计分层架构:代码抽象与分层
- 层对外暴露的接口,隐藏实现细节
- 实现依赖于抽象,抽象不可依赖于实现细节
- 代码不可跨层调用,只依赖于直接的下一层
如何设计分层架构:集成
- 集成前做单元测试
- 根据接口和技术栈确定集成方式
- 集成联调