经典分层

DDD分层架构 - 图1

interface层

  • 接口层,包括controller、api、listener等,直接和外界进行交互

    application service

  • 应用服务层,主要是进行业务流程编排

    domain层

  • 领域层

  • 包括战术设计的那些东西,aggregate、entity、value object、domain service、domain event、command、query、business component
  • 把业务模型、业务语义,用代买来表现出来,让代码和业务相吻合,不牵扯具体实现的技术

    基础设施层

  • 包含战术设计中的repository

  • 负责具体技术实现,包括数据库、缓存、消息队列等

    清洁架构

    清洁架构.jpeg

  • 如图所示,外层依赖内层,内层不可以依赖外层,属于单向的依赖调用关系

    六边形架构

    六边形架构.png

    CQRS架构

    CQRS.png

  • 查询和更新完全分离