Skip to content

Day 25 - DDD与六边形架构

📖 今日目标

  1. 理解六边形架构(Ports and Adapters)概念
  2. 对比六边形架构与DDD分层架构
  3. 学习两者的结合使用

核心概念

六边形架构

六边形架构(Hexagonal Architecture) 又称Ports and Adapters,强调:

  • 业务逻辑在核心
  • 通过端口与外部交互
  • 适配器实现端口

关键要点

1. 六边形架构结构

                    ┌──────────────┐
                    │    驱动适配器  │
                    └──────┬───────┘

                    ┌──────▼───────┐
                    │     端口     │
                    └──────┬───────┘

               ┌───────────▼───────────┐
               │        核心           │
               │  ┌─────────┐  ┌──────┐ │
               │  │ Domain  │  │ App  │ │
               │  └─────────┘  └──────┘ │
               └───────────▲───────────┘

                    ┌──────┴───────┐
                    │     端口     │
                    └──────┬───────┘

                    ┌──────▼───────┐
                    │   被驱动适配器 │
                    └──────────────┘

2. DDD与六边形的对应

六边形架构DDD
核心领域层
驱动端口应用服务
被驱动端口仓储、外部服务
驱动适配器Controller
被驱动适配器Repository实现

面试考点

问题:六边形架构和DDD分层架构的区别?

答案:

  1. 视角不同

    • DDD分层:从上到下的职责分层
    • 六边形:从内到外的依赖关系
  2. 关注点不同

    • DDD:业务领域建模
    • 六边形:端口适配解耦
  3. 结合使用

    • 领域层在六边形核心
    • 应用层作为驱动端口
    • 仓储作为被驱动端口

实践思考

🎯 思考题

用六边形架构重新设计订单模块,指出各组件对应的DDD概念。


📅 学习进度

Day主题状态
01-24战略设计 + 战术 + 架构
25DDD与六边形架构
26电商领域建模实战
.........
30复习与总结

本文为DDD 30天学习计划第25天内容

📚 导航

| ← Day 24 - 上一章 | Day 26 - 下一章 →

最后更新: