如果产品代码格式错误,客户名称过长或地址验证服务超时,该怎么办?任何系统都会有错误,我们如何处理它们很重要。一致且透明的错误处理对于任何类型的生产系统都是至关重要的。 在上一章中,我们故意从 pipeline...
Understanding Functions 在很多现代语言中, 函数也是一等对象, 但只是使用函数并不意味着在进行函数式编程. 函数式编程范例的关键在于, 函数无处不在, 应有尽有,...
现在开始对 Place Order 工作流建模, 下面是我们需要建模的摘要: workflow "Place Order" = input: UnvalidatedOrder output (on success):...
现在, 我们构建了一组丰富的领域模型. 接下来要做的是 “保护好” 它, 因此应该采取一些预防措施, 以确保此域中的任何数据都是有效和一致的. 我们的目标是创建一个界限上下文, 该上下文始终包含我们可以信任的数据,...
Reviewing the Domain Model TODO: 补充需求. 现在让我们看下已有领域模型的伪代码 (在与领域专家讨论需求时记录下来的): context: Order-Taking //...
在本章中, 我们将简要介绍面向函数式的领域模型的典型软件架构以及将 DDD 概念(如 “界限上下文” 和 “领域事件”)转换为软件的方法. 当然, 软件架构本身就是一个领域, 因此, 让我们遵循我们自己的建议,...
DDD 社区指导我们如何创建通用的模型: 关注业务事件和工作流程, 而不是数据结构 (ps: 职责驱动) 将问题域划分为较小的子域 为每个子域创建解决方案模型 (Bounded Contexts – Domain...
本书大纲 第一部分 — 了解领域 什么是 DDD 通用模型的重要性 理解领域事件 拆分领域为子域 界限上下文 通用的语言 总结 DDD 的概念