首页/开发/代码质量与评审速查/分层与依赖方向(同心圆模型)
设计原则与模式62 条

分层与依赖方向(同心圆模型)

分层架构约束依赖方向:外层可依赖内层,内层不感知外层(Clean Architecture 同心圆:实体 → 用例 → 接口适配器 → 框架与驱动);依赖穿过边界时由内层定义接口。

方向外向内依赖,内对外无感
边界依赖倒置跨越(端口在里、实现在外)
检验核心模块的 import 里不出现框架类型

分层示例

分层示例
entity  ←  usecase  ←  adapter  ←  framework

// 用例层定义端口
interface UserRepo { Optional<User> findById(Id id); }
// 基础设施层实现(外圈)
class JpaUserRepo implements UserRepo { ... }

易错点

  • 分层只落在目录名:跨层直接 import,规则形同虚设
  • 核心层直接抛框架异常:细节从内向外泄漏

数据来源与参考

  • Robert C. Martin《Clean Architecture》同心圆模型;Alistair Cockburn 六边形架构
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌