落地执行的DDD(领域驱动设计)有哪些具体实践步骤?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2217个文字,预计阅读时间需要9分钟。
多年前,我总结过DDD战略设计的一些落地经验,如今回首发现,当初对某些概念的理解尚浅。比如,战略设计中的各个模块如同协作的齿轮。哪些是问题空间,哪些是解决方案?
几年前我总结过DDD战术设计的一些可落地的经验,现在回过头来发现,当初对这些概念的理解还是没有到位。比如战术设计的各个模块是如协作的。哪些是问题空间问题,哪些是解方案空间问题 这篇文章重新阐述下。 背景几年前我总结过DDD战术设计的一些落地经验可落地的DDD(5)-战术设计,和一次关于聚合根的激烈讨论最近两年有些新的落地体验,回过头来发现,当初对这些概念的理解还是没有深入,这篇文章重新阐述下。
之前理解不到位的点有
- 战术设计的各个模块是的协作关系
- 哪些是问题空间问题,哪些是方案空间问题边界没有划分清楚。
- 实体和聚合根的区别理解不不深刻,实体和聚合根建模的方法不对。
以上问题将会在下文解释清楚。
战术设计拆解DDD的战术设计即设计某个子域的领域模型以及代码落地。领域事件、领域对象、聚合根、实体、值对象、领域服务、工厂、资源库等这些概念都属于这个范畴。
笔者将这些概念重新分层组装了下,如下图所示。
首先将整体分成两部分,问题空间和方案空间。
- 问题空间即领域建模。是对业务问题的描述,以及我们如何对这些问题进行抽象。这些是需要在业务、产品、开发都必须达成一致的,与具体的技术方案无关。
- 方案空间即如何用技术手段来解决问题,与具体技术的实现有关。
问题空间即领域建模,是通过实体、值对象、领域服务、领域事件来表达。
本文共计2217个文字,预计阅读时间需要9分钟。
多年前,我总结过DDD战略设计的一些落地经验,如今回首发现,当初对某些概念的理解尚浅。比如,战略设计中的各个模块如同协作的齿轮。哪些是问题空间,哪些是解决方案?
几年前我总结过DDD战术设计的一些可落地的经验,现在回过头来发现,当初对这些概念的理解还是没有到位。比如战术设计的各个模块是如协作的。哪些是问题空间问题,哪些是解方案空间问题 这篇文章重新阐述下。 背景几年前我总结过DDD战术设计的一些落地经验可落地的DDD(5)-战术设计,和一次关于聚合根的激烈讨论最近两年有些新的落地体验,回过头来发现,当初对这些概念的理解还是没有深入,这篇文章重新阐述下。
之前理解不到位的点有
- 战术设计的各个模块是的协作关系
- 哪些是问题空间问题,哪些是方案空间问题边界没有划分清楚。
- 实体和聚合根的区别理解不不深刻,实体和聚合根建模的方法不对。
以上问题将会在下文解释清楚。
战术设计拆解DDD的战术设计即设计某个子域的领域模型以及代码落地。领域事件、领域对象、聚合根、实体、值对象、领域服务、工厂、资源库等这些概念都属于这个范畴。
笔者将这些概念重新分层组装了下,如下图所示。
首先将整体分成两部分,问题空间和方案空间。
- 问题空间即领域建模。是对业务问题的描述,以及我们如何对这些问题进行抽象。这些是需要在业务、产品、开发都必须达成一致的,与具体的技术方案无关。
- 方案空间即如何用技术手段来解决问题,与具体技术的实现有关。
问题空间即领域建模,是通过实体、值对象、领域服务、领域事件来表达。

