• 在本文中,将深入研究领域驱动设计(DDD) 以及许多困惑和讨论的主题:聚合设计。首先简要概述什么是聚合,然后继续揭开业务不变量的神秘面纱,并在您必须打破聚合时提供实际考虑因素。 什么是聚合?DDD
  • 图中鸡蛋克和鸡蛋 icon
  • 聚合Aggregate模式可能是领域驱动设计 (DDD) 中最重要的战术模式。本质上,它可以这样描述:聚合是可以被视为单个单元的域对象的集群。这意味着聚合中的对象密切相关,并且出于数据更改的目的被视为一个单元。聚合有一个根实体,它是聚合中的主要对象。根实体负 icon
  • 来自OSKAR DUDYCZ的DDD变化旅程。 这是我目前所处的进化阶段:我从经典聚合开始,遵循领域驱动设计和典型的面向对象战术模式。因此,将数据和行为封装在一个类中。然后,仅允许通过公共方法进行更改,并仅以只读模式公开数据。 icon
  • 我们都喜欢建立绿地新项目。 但不可避免的是,开始一个新的项目需要与商业利益相关者进行大量的会议,以确定初始需求和典型的数据模型。这些都是......不那么有趣的。 当这些会议之一发生在高碳水化合物的午餐之后(米面等精致碳水导致胰岛素 icon
  • 验证是区别于业务规则的定义。 本文提出了软件开发中验证的定义:介绍了我目前是如何区分验证和业务规则的。我发现这种区分是有用的,尽管这也许是一个因果关系颠倒的例子。我的定义是这样的: icon
  • 本文针对的是对DDD和聚合体有一定工作经验的人,这些例子使用了C#。然而,如果你熟悉任何OO语言,那么你也能跟上。可以在此处查看 Gi icon
  • 在本文中,我们将了解哪种 UUID(通用唯一标识符)类型最适合具有主键约束的数据库列。虽然标准的 128 位随机 UUID 是一个非常受欢迎的选择,但您会发现这非常适合数据库主键列。 通用唯一标识符 (UUID) 是一个 128 位伪随机序 icon
  • 在您当前的应用程序中,您的业务逻辑有多复杂?它的范围可能从微不足道到极其复杂。人们不应该为一个微不足道的问题使用复杂的工具。我们大多数人,包括我自己,都习惯于编写所谓的 icon
  • 从 Spring Data JDBC 3.2.0-M2 开始,Spring Data JDBC 支持单查询加载。单查询加载可通过单个选择语句加载任意聚合。 要启用单查询加载,需要在 RelationalMappingContext 上调用 setS icon
  • 语义技术使用形式语义来帮助人工智能系统理解语言,并以人类的方式处理信息。因此,它们能够根据意义和逻辑关系来存储、管理和检索信息。企业已经在使用语义技术和语义图形数据库,如Ontotext的GraphDB,来管理他们的内容,重新利用和重用信息,削减成本并获得新的收入来源。 icon
  • 在我们的领域模型实现中,我们成功地使用了许多 DDD 模式和原则。在这篇文章中,我将展示一个内聚机制的示例,该机制使我们能够解决产品的复杂性。 业务领域 icon
  • 聚合数据能简化它,但让我们失去了信号和我们需要理解我们所看到的内容的上下文。 聚合是分析时间序列数据的标准最佳实践,但它会通过剥离关键上下文而产生问题,以至于您甚至不知道自己失去了多少潜在洞察力。在这篇文章中,我将首先讨论聚合如何成为问题,然后通过 icon
  • 熵是一个普遍法则:如果不重新投入能量,一切都会趋于无序。软件也不例外。 当进化发展受到时间和/或预算的限制时,系统就会变得“单体”。 单体架构通常是对不一致抽象的意大利面条的委婉说法。 icon
  • 与业务领域无缝集成的软件能为企业带来一系列强大的优势。它可以简化操作,增强以用户为中心的功能,并为利益相关者提供实时洞察力,以便快速做出深思熟虑的决策。DDD 是一种软件开发方法,擅长在领域专家和开发人员之间提供这种一致性,将软件功能与业务需求直接联系起来。 icon
  • 下图是一个高耦合、低相干性的两个包调用设计: icon