DDD(Domain-Driven Design)领域驱动设计-(三)命令风暴&寻找聚合

回顾

上文我们讲了事件风暴,找出了系统中所有的事件,都通过"something has been done"的形式描述,如"填空题被创建"等

DDD整体的三个阶段是

第一阶段:战略设计 ->行为模型
第二阶段:战术设计 ->领域模型
第三阶段:实施落地 ->实现模型

命令风暴

什么是命令

命令是领域事件触发的动作,被执行之后,创建领域事件

命令触发的原因有哪些?
  • 用户
  • 外部系统
  • 定时任务
  • 事件
命令风暴的表现方式

在这里插入图片描述

寻找命令的过程

在这里插入图片描述

寻找命令的意义

当找到了需求描述中所有命令,我们就能清晰的了解到系统需要进行哪些操作,分别是由哪些用户,外部系统,定时任务,事件来触发的

寻找聚合

聚合的概念
  • 命令和事件中都出现了的名词
  • 被独立访问的业务单元
  • 一组领域对象的组合
寻找聚合的过程

在这里插入图片描述
如图所示,将命令风暴中整理好的命令,找出对应的命令和事件都出现的名词,将名词相同的命令,按照右图的方式聚合在一起,这样就找到一组领域对象的聚合

聚合的生命周期

聚合是有独立的生命周期

聚合的意义
  • 一组领域对象的集合,且能够构成一个独立的单元存在
  • 识别关键"术语",打破事件的时间线
  • 提供更大的视野,帮助业务模型不断精炼
根据第二节题目中的要求,下边分别给出需求中的命令风暴和聚合整理的图

命令风暴
命令风暴
寻找聚合
在这里插入图片描述
至此,已经梳理出了系统中有哪些具体的操作,在哪些实体上有什么样的操作

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
领域驱动设计Domain-Driven DesignDDD)是一种软件开发方法论,旨在帮助开发团队更好地理解业务需求,并将其映射到软件设计中。"Patterns, Principles, and Practices of Domain-Driven Design" 是一本介绍DDD的书籍。 该书包含了许多相关的模式(patterns),原则(principles)和实践(practices)。模式指的是可重复应用的最佳实践,通过使用这些模式可以更好地解决一些常见的设计问题。原则则是指导设计决策的基本原则,这些原则有助于开发团队构建可维护、灵活和可扩展的软件。实践则是指在DDD中应用这些模式和原则的具体方法和技巧。 在"Patterns, Principles, and Practices of Domain-Driven Design" 中,作者将介绍如何使用DDD来进行软件开发,并详细解释了DDD的核心概念和重要组成部分。这包括战略设计(Strategic Design)和战术设计(Tactical Design)。战略设计关注领域的整体架构和组织,它定义了领域的边界、聚合根(Aggregate Roots)以及他们之间的关系。而战术设计则关注如何实现具体的业务逻辑,使用领域模型(Domain Model)来表达领域的核心概念。 该书强调了领域专家和开发团队之间的合作,推崇的是通过持续对话和深入理解业务,来捕捉业务需求和规则。它提倡使用通用语言(Ubiquitous Language)来统一业务和开发团队的沟通,避免因为术语不清晰而导致的误解和问题。 总之,"Patterns, Principles, and Practices of Domain-Driven Design" 提供了一个全面的指南,帮助开发团队理解和应用DDD的模式、原则和实践,以构建高质量、符合业务需求的软件系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值