首页 > 其他分享 >领域驱动设计

领域驱动设计

时间:2022-12-29 13:23:34浏览次数:74  
标签:domain infrastructure app 领域 设计 驱动 com adapter

DDD的代码结构_ronshi的博客-CSDN博客_ddd代码结构

 

DDD( 领域驱动设计)概念来源于2004年著名建模专家eric evans的书籍:《domain-driven design –tackling complexity in the heart of software》(中文译名:领域驱动设计—软件核心复杂性应对之道)。

DDD领域驱动设计,代码层次结构分为五层:adapter层、client层、app层、domain层、infrastructure层。如果是web服务,则包含adapter层。如果是业务服务,则可以去掉adapter层。

一、adapter层

adapter层主要是根据请求来源或类型进行适配,对app层的结果进行封装。

com.域名.项目名
├── adapter // 适配层模块
│ └── web // 网页端
│ └── mobile // 手机端
│ └── service // 服务端
二、client层

client层是对外提供的SDK,包含API的定义,以及数据传输对象。

com.域名.项目名
├── client // sdk模块
│ └── api // 网关实现层
│ └── dto // 数据接口
三、app层

app层是应用层,主要负责领域的整合和事务的管理,以及定时任务和消息的处理。

com.域名.项目名
├── app // 应用模块
│ └── executor // 执行层
│ └── query // 查询层
│ └── command // 命令层
│ └── consumer // 消息层
│ └── scheduler // 定时任务
四、domain层

domain层是领域层,主要是聚合的划分,包括聚合根、实体、值对象,以及领域能力和网关接口。

com.域名.项目名
├── domain // 领域层模块
│ └── model // 模型层
│ └── aggregate // 聚合层
│ └── entity // 实体层
│ └── valueobject // 值对象层
│ └── ability // 领域能力层
│ └── gateway // 网关接口层
五、infrastructure层

infrastructure层是基础设施层,采用了依赖倒置的原则,infrastructure层依赖于domain层,是领域层网关的具体实现。

 

标签:domain,infrastructure,app,领域,设计,驱动,com,adapter
From: https://www.cnblogs.com/hofmann/p/17012276.html

相关文章