DDD实体模型
谨慎使用 jpa 关系 - felixs

这篇博文的灵感来自于我为我的上一个客户所做的工作,该客户想要模块化他的单体,但有数百个实体的复杂混乱。我们开始消除模块之间的循环依赖,这种依赖特别是由于 jpa 关系及其对服务层的影响而发生的。这篇... 详细
使用设计模式实现实体中多个依赖属性的验证模块

有没有想过如何对属于具有多个依赖属性的实体的 API 请求/响应执行验证?在这种情况下可以执行什么类型的验证?使用什么 设计模式 ?如何构建代码?底层设计应该是什么样的?如何使代码和设计具有可 ... 详细
领域驱动设计中的聚合模式 | by Alexey Zimarev

聚合Aggregate模式可能是领域驱动设计 (DDD) 中最重要的战术模式。本质上,它可以这样描述: 聚合是可以被视为单个单元的域对象的集群。这意味着聚合中的对象密切相关,并且出于数据更改的目... 详细
从代码战术角度解释领域驱动设计 - Cyrille

为什么用静态工厂替代构造函数?

为什么我们不能再有正常的、简单的构造函数呢? 每个JDK的新功能都会使用那些恼人的 "of(value)"、"newAbcd()"、"of()"。 在某些情况下,我同意需要使用它,例如接口(Path... 详细
建模:标识字段 - Dan

本文的目标是研究一种特定类型的字段 —记录业务标识符。其目的是唯一标识一个记录的实例。信息系统的用户应该了解或访问该值。该值用于启动或停留在处理它标识的特定记录实例的任何业务流程的“快乐路径”上。 ... 详细
建模经验:产品、客户、销售和位置的记录设计 - Dan

本文讨论了支持product、customer、sale和location 概念的记录类型。这些记录的名称因组织所处的业务线而异,特别是组织的销售流程。 与产品有关的记录 在本系列文章中,产... 详细
如何从Spring之外的非托管对象访问 Spring Bean?

实体、值对象、DTO或VO、record之类基本都是只有getXX/setXX的对象(record除外),当 DDD 领域设计为这些对象赋予业务行为以后,这些业务行为会与技术环境如Srping管... 详细
重构 001 - 删除Java的Setter方法

Setter方法违反了不变性并添加了意外耦合! 重构步骤: 找到 setter 的用法 如果您正在设置基本属性,请将它们移动到构造函数并删除该方法 如果你需要改变一个偶然的属性,它不是一个 ... 详细
实体本身或实体之间关系哪个更重要? - scientificamerican

量子力学激发我们推测实体之间的相互作用关系,而不是实体本身,实体的属性是因为实体相互作用才获得定义。 事物到底是由什么组成的?谁创造的?超自然者认为是上帝,物理学家认为一切都源于一个单一的原始力或粒... 详细
重构贫血模型提高代码的DDDness - Alexander

这是一个实用指南:结合 DDD 和OOP展示如何通过封装构建意图暴露一个类的API?这篇博文中的所有代码都可以在 这里 找到。 对我来说,DDD 就是构建意图揭示 API。它关于将业务概念和规则... 详细
领域驱动设计:实体、值对象以及如何区分? - jannikwempe

高内聚的启发式含义?

“一个实体在内聚上最通用含义是:当其各部件之间的因果相互作用强于部件与其环境之间的因果相互作用时” ... 来自动力系统理论 “An entity is _cohesive_ in the most... 详细
DDD实体值对象的equals和hashcode方法实现 - wimdeblauwe

Java中的所有类均继承自java.lang.Object,它有 equals (java.lang.Object)" class='body_href' >equals() 和 . 详细