如果产品代码格式错误,客户名称过长或地址验证服务超时,该怎么办?任何系统都会有错误,我们如何处理它们很重要。一致且透明的错误处理对于任何类型的生产系统都是至关重要的。 在上一章中,我们故意从 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 的概念
Fantasy land Fantasy Land 是一套 TypeClass 的 JS 描述, 包括但不限于 Functor, Applicative, Monad. 以下是几个常用的 TypeClass....
list function object relation logic math string type adjust __ assoc clamp allPass add match is all addIndex...
学习 Haskell 过程中接触到的 FP (functional programming) 的一些概念, 并不是 FP 的全部 (PS: 为了容易理解, 尽可能的忽略了数学描述, 而改用开发容易理解的字眼,...
Currying: 因为是美国数理逻辑学家哈斯凯尔·柯里(Haskell Curry)发明了这种函数使用技巧, 所以这样用法就以他的名字命名为 Currying, 中文翻译为 “柯里化”....
函数式编程 函数式编程是一种编程典范, 比起指令式(过程式)编程的复杂执行过程, 函数式编程更加强调程序执行的结果, 倡导利用若干简单的执行单元让计算结果不断渐进, 仔细定义每个运算的输入, 以及每个运算返回的内容,...