Hasty Briefsbeta

双语

Modeling Facts and Reactions with Domain Events

11 hours ago
  • 业务逻辑通常遵循“当某事发生时,其他事情应该发生”的模式。
  • 将事实和后果耦合在一个脚本中会模糊领域事实并导致维护问题。
  • 领域事件以过去时态记录事实,而非命令;它们是不可变的,并包含足够的信息来确定事实。
  • 事件应在做出决策的地方引发(例如,在聚合中),并收集直到工作单元提交。
  • 处理器独立地响应事件,每个处理器具有单一职责和自身的失败处理机制。
  • 跨越聚合边界需要单独的事务以实现最终一致性。
  • 跨越限界上下文使用集成事件,这些事件被转换为本地命令。
  • 并非每次状态变更都需要触发事件;当依赖项属于一个明确操作的一部分时,直接调用更合适。
  • 领域事件改进了分离性,允许每个后果独立演进并具有容错能力。