DDD 概念参考

DDD 概念参考

DDD 是 Domain-Driven Design 的缩写,本文档提供了 DDD 的标准化释义。

访问网站
我的收藏189 次访问更新于 a month ago反馈
DDD 概念参考 screenshot

详细介绍

DDD 概念参考

简介

DDD 概念参考(网址:https://domain-driven-design.org/zh/ddd-concept-reference.html)是一份关于领域驱动设计(Domain-Driven Design,简称 DDD)核心概念的详细参考文档。DDD 是 Eric Evans 于 2004 年提出的一种软件设计方法和理念,主要思想是利用确定的业务模型来指导业务与应用的设计和实现,主张开发人员与业务人员持续沟通和模型持续迭代式演化,以保证业务模型与代码实现的一致性,从而有效管理业务复杂度、优化软件设计。该页面系统梳理了 DDD 各类概念的定义与关系,并提供了基本概念图。

DDD 基本概念图

主要功能

该参考页面按类别整理了 DDD 相关概念,主要包括:

  • 通用类概念:领域驱动设计(DDD)、模型、建模、模型驱动设计、软件设计、战略设计、战术设计、软件、原则(通用语言、聚焦核心域、协作共创、持续建模)、上下文等。
  • 领域分析类概念:问题空间、领域、子域、核心域、支撑域、通用域。
  • 建模类概念:解空间、领域模型、限界上下文、实体、值对象、聚合、聚合根。
  • 软件设计类概念:模块、仓储、服务、工厂、策略、规格、分层架构(接入层、应用层、领域层、基础设施层)、部署架构、微服务、单体、分布式应用系统等。
  • 事件风暴类概念:事件风暴、领域事件、业务规则、命令、执行者、用户、外部系统、本系统、定时器、参与人、领域专家、技术专家、主持人等。

每个概念均给出了明确的定义与说明,例如:

  • 战略设计用于业务高层次抽象和归类,产出上下文图及模块或微服务划分;
  • 战术设计对特定上下文下的聚合、实体、值对象进行详细设计,产出可代码实现的类图;
  • 限界上下文强调概念在明确边界内的一致性,可用于微服务划分;
  • 聚合是一组生命周期强一致、修改规则强关联的实体和值对象集合,聚合根是其中唯一的 core 实体。

适用场景

  • 软件开发人员与业务人员在实践 DDD 时,作为统一的概念查阅与沟通基线,避免自然语言歧义带来的建模误导。
  • 在进行战略设计(子域划分、上下文识别)与战术设计(聚合、实体设计)时,参考各类概念的精确含义与边界。
  • 团队推行通用语言、协作共创、持续建模等原则时,作为培训或协作文档。
  • 在事件风暴工作坊中,帮助参与人(领域专家、技术专家、主持人等)理解相关术语与角色。