DDD领域事件

     
  • 事件风暴研讨会准备和三种类型

    22 3K

    事件风暴是一种动态研讨会方法,深入研究领域和需求发现。获得的见解非常宝贵,有助于设计与业务边界紧密结合的软件,从而简化维护。事件风暴提供三种不同的研讨会类型 - 大局观、流程级别和设计级别。1、研讨会.

  • 使用大模型Transformer提升商品推荐的用户体验

    105 1 3K
    ASOS人工智能团队是一个由机器学习工程师和科学家、数据科学家和产品经理组成的跨职能团队,利用机器学习来改善客户体验、提高零售效率并推动增长。banq注:在讨论阿里最大的失败原因时,有网友说:最大的失.
  • 异步API中事件、命令和状态区别

    54 8K

    事件、命令、状态和时间序列值的区别:事件:    用户已创建 ECS实例已启动 命令/说明/请求 : 向用户 X 发送重置密码电子邮件 从用户 Y 处收取 £x 的付款 状态  :   用户(完整对象.

  • 使用Spring Data JPA实现DDD聚合的动态投影

    59 4K

    投影是从存储库加载的DDD聚合 的子集,用于只读目的。返回投影的方法通常在存储库级别上定义,使存储库接口了解应用程序中使用的所有可能类型的投影。package com.app.account.doma.

  • 简化Java数据传输对象DTO:DTO-Free Java

    362 5 5K

    在传统的 Java 编程中,数据传输对象(DTO) 长期以来一直是处理应用程序各层之间数据交换的首选解决方案。虽然 DTO 达到了其目的,但它们通常会导致代码臃肿、维护开销增加并降低可读性。这就是 D.

  • 大局事件风暴:寻找差距

    73 4K

    在事件风暴上,实现下面几个步骤: 我们首先进行了一次混沌探索,从每个人那里收集了相关的领域事件。 之后,我们通过整理事件、删除重复事件和微调事件来组织混乱。 会议结束时,我们将事件按时间顺序排列。 我.

  • Java的类型化状态机

    87

    作者:不喜欢基于事件的状态机实现,因此我创建了一个类型化、函数式、简单且直接的状态机库。点击标题安装:<dependency>    <groupId>com.tsm4j</groupId>    <.

  • DDD中事件与命令比较

    97 1 2K

    在探索领域驱动设计主题时,事件和命令之间的差异以及何时应该使用哪些事件和命令?事件事件 – 当我们想要传达某事已发生并且我们并不真正关心谁将收到此通知以及他们将如何处理它时,我们会发送它。许多订阅者可.

  • 事件溯源与流水账的结账模式

    74 19K

    没有人知道事件溯源Event Sourcing是谁发明的。我无意中听说是汉谟拉比发明的。为什么?因为他规范了第一套会计规则。事件溯源Event Sourcing(活动事件源)就像记账一样,我们记录每项.

  • 绕开事件驱动架构5个坑

    84 3K

    事件驱动架构 (EDA) 并不是什么新鲜事物,如果您四处搜索,您一定会找到很多有关此架构概念的信息。您会了解企业服务总线 (ESB) 或队列的差异、领域驱动设计 (DDD) 的重要性,甚至找到有关如何.

  • 事件风暴中如何识别聚合?

    81 5K

    事件风暴是一种强大的技术,用于映射不同抽象级别的系统的复杂性。这种协作方法使团队能够可视化并理解域内的事件、操作和策略的流程。 大局级别在事件风暴的大局层面,主要目标是建立系统的总体视图。该阶段是整个.

  • Serverless中为什么事件设计很重要

    73

    在构建事件驱动架构时,您将使用消息/事件在系统之间传递信息。这些消息的内容取决于您。这很好,因为它变得灵活,但同时也是一个问题,因为它很灵活!许多构建事件驱动解决方案的人都是从在系统之间引发消息/事件.

  • 运行大局事件风暴的分步指南

    63 3K

    从激励观众到阅读您所在领域的故事,以下是您在大事件风暴期间将经历的所有步骤。终于,我们迎来了真正的事情!我们已经回顾了大事件风暴的准备工作。现在我们已经准备好了一切,让我们看看如何在实践中举办这个研讨.

  • 在大局事件风暴开始时该说什么

    59 2K

    恭喜!现在房间里有 10 个人或更多人看着您,想知道如何开始……不要惊慌:这是您的简报脚本。人们在空旷的设计空间前讨论的图画。 这就是大局事件风暴会议开始前的样子。您的大局事件风暴简报应介绍: 总体目.

  • 如何准备大局事件风暴研讨会

    60 2K

    事件风暴是开始使用功能架构的绝佳方法。这里有 5 个重要的准备技巧,可帮助您的第一次研讨会取得成功!先做作业!您已经决定大局事件风暴是可行的方法,并且您渴望开始一个。不过没那么快!与许多事情一样,缺乏.

  • 3分钟大局事件风暴

    133

    这篇文章总结了关于大局事件风暴的文章的要点。它还包含有关大局事件风暴后该怎么做的参考!为什么要举办一场大局事件风暴我们首先讨论了为什么要举办一场大局事件风暴?我们看到事件风暴是大前期设计和 100% .

  • 使用 Spring Modulith 进行事件外部化

    356 9K

    在本文中,我们将讨论在@Transactional块中发布消息的需求以及相关的性能挑战,例如延长的数据库连接时间。为了解决这个问题,我们将利用Spring Modulith的功能来监听 Spring .

  • SpringBoot中处理ApplicationContextEvent和自定义ApplicationEvent

    109 6K

    在 Spring 框架中,事件处理是 Spring 组件以松散耦合方式相互通信的一项基本功能。任何 Spring 组件都可以发布事件,而其他组件则可以接收和响应事件。事件发布组件需要 Applicat.

  • 案例研究:物流中的超通用框架

    101

    一家非常大的物流公司聘请了一家咨询公司来建立一个网上商店来购买该物流公司的产品。该系统的核心是一个使用通用订单框架构建的专有订单引擎。我们检查了系统并发现以下行为: 一切都是命令。如果您想更改地址、购.

  • 领域建模中容易出错的部分

    173 3K

    领域建模是考虑实体和它们之间的关系?啊,不太好。 虽然这通常是典型的建议的例子,它实际上是落后的。 不要构建数据库模式/结构。如何对复杂的领域进行建模?在领域驱动设计中,您在领域建模时可能会考虑实体、.

  • 在 Spring MVC 中使用枚举作为请求参数

    255 5K

    枚举是Java中的一种特殊数据类型,用于表示一组固定的常量。控制器方法可以采用枚举作为参数,Spring MVC会自动翻译将传入请求参数的值设置为适当的枚举常量。枚举数据类型的示例:enum Coff.

  • 从关系数据转向事件指南

    154

    在事件建模中,以事件的形式保存业务数据。事件是已经发生的事实,我们在每次操作后都会将其存储起来。事件流记录了我们的记录所发生的一切。很遗憾,你不能更改事件,因为它们是不可变的。但你可以在最后添加一个新.

  • 如何从CRUD中捕捉意图事件?

    249 1

    CRUD(创建读取更新删除)虽然看起来很简单,但在大型系统中,它常常会导致代码混乱、复杂。创建、读取、更新、删除 (CRUD) 非常常见。一般来说,它只是简单的表单,用于将数据添加到数据库并提供记录列.

  • 8年双时态事件溯源经验

    146 4K
    双时态事件源将数据存储为一系列事件,这些事件告诉数据发生了什么,并且数据有两个关联的时间点,一个是数据进入系统的时间,另一个是数据生效的时间。这篇文章讲述了我们 8 年多的双时态事件溯源经验,以及展示.
  • 基于状态机实现的DDD聚合根Order对象

    158 3K

    展示一段示例代码 - Order 类。此类在我们的示例 DDD/CQRS/ES 应用程序中使用。我们正在改进此应用程序,因此这是记录某些意见和更改的好机会。module Ordering  class.

  • 使用双时态 EventSourcing 修复过去并应对未来

    147 8K

    使用 事件溯源EventSourcing 的感觉非常棒。系统中有发生的事件的历史记录。这使得调试变得更加容易。然而,事件溯源并不能保护我们免受用户犯错误的影响。我们应该如何处理用户输入错误的情况呢? .

  • DDD中如何为聚合模型减负?

    189 2K
    业务需求场景: 商品应在提交订单时为客户保留。 仅仅将商品添加到购物车并不能保证产品的可用性。 客户不能将已经缺货的产品加入购物车。 事实上,这并不是什么花哨的要求。我曾经做过一个电子商务项目,就有这.
  • Sqids:根据数字生成简短的唯一ID

    580 1 3K

    Sqids (发音为“squids”)是一个开源库,可让您根据数字生成简短的唯一 ID,类似 YouTube 的 ID。这些 ID 很短,可以从自定义字母表生成,并且保证无冲突。例如:https://.

  • Debezium会丢失事件吗?

    262 2K

    是否存在这样的情况:数据库中的记录被插入、更新或删除,但 Debezium 无法从事务日志中捕获该事件并将其传播到下游消费者?一般来说,Debezium 本身绝不会错过任何事件。如果确实如此,则被认为.

  • DDD领域消息建模表示法

    322
    设计松耦合系统需要的不仅仅是精心设计的边界。仔细定义有界上下文之间的交互同样重要。有界上下文BC是软件架构中与域的一部分对齐保持一致的子系统。它可以作为微服务或单体中的模块来实现。领域消息流程图是一个.