DDD聚合

     

如何有效地组合您的业务逻辑 - Event-Driven.io

1284 1 18K
假设我们要实现购物车。我们有以下要求:客户只能在打开购物车后将产品添加到购物车中。在选择产品并将其添加到购物篮时,客户需要提供选择的数量。系统根据当前价目表计算产品价格。客户可以从购物车中移除具有给定.

建模:标识字段 - Dan

1340 1 2K

本文的目标是研究一种特定类型的字段 —记录业务标识符。其目的是唯一标识一个记录的实例。信息系统的用户应该了解或访问该值。该值用于启动或停留在处理它标识的特定记录实例的任何业务流程的“快乐路径”上。注意.

建模经验:产品、客户、销售和位置的记录设计 - Dan

1560 4K

本文讨论了支持product、customer、sale和location 概念的记录类型。这些记录的名称因组织所处的业务线而异,特别是组织的销售流程。与产品有关的记录在本系列文章中,产品的概念在第三.

还原论与构建论:

983 1

Anderson (1972) 的.

用“数据与算法”解释DDD“上下文和聚合”

1685 2

数据 vs 算法 = 上下文 vs. 聚合从对应位置来看: “数据”=“上下文” “算法”= “聚合” 数据=上下文首先,数据本身是上下文的一种体现,如果你熟悉写作文,那么作文要求你说明来龙去脉,上下.

为股票和加密货币交易构建规则引擎 - ksred

1123 1 3K

我建立了一个平台和市场来创建、测试和运行股票和加密货币的交易策略。至少在过去的十年里,我对金融和API有着浓厚的兴趣,这促使我建立了像BVNK这样的初创公司和像COVID19API这样的产品。我对投资.

SOLID原则是一个有机整体 - Kislay

964 1 2K

SOLID原则是建立一个组件间低耦合度的系统的有力工具。首先对这些原则做一个简单的回顾: SRP:单一责任原则 OCP:开放封闭原则 Liskov替代原则 接口隔离 依赖性反转 在这里,我想谈谈所有的.

如何实现软件设计中的高凝聚和松耦合? - thevaluable

2859 1 8K

为什么我们系统的模块耦合度如此之高?是因为他们缺乏凝聚力吗?(banq注:为什么人员在团队之间流动这么频繁?为什么团队之间开会如此频繁?是因为这些团队内部缺乏凝聚力吗?缺乏核心凝聚吗?) 案例:有人说.

幽默:如何建立一个良好的关系?

928 1
在数据库思维的程序员眼中,主键是建立表关系的必需,但是在面向对象或DDDer眼中,只需通过对象引用建立两个对象的关系,ORM工具忙于在两者之间映射,而在女孩子思维中,建立两者关系是啥呢?所以,关系这个.

整洁的领域驱动设计 - George

1068 1 2K

这篇文章将介绍一种使用DDD和Clean Architecture构建应用程序的观点性方法。我所说的 "观点 "是指,我将论证解决应用程序设计和架构中几个众所周知的问题的特定方式。当然,这并不意味着这.

如何从Spring之外的非托管对象访问 Spring Bean?

1186 1 5K

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

Spring Data JDBC如何对DDD聚合根进行部分更新? - spring.io

1707 2 9K

这是有关如何应对使用 Spring Data JDBC 时可能遇到的各种挑战的系列文章的第四篇。该系列包括:Spring Data JDBC - 如何使用自定义 ID 生成。Spring Data J.

被误解的单一职责原则 - Joe

1833 1 3K

谷歌工程主管乔·林奇的文章,获得SOLID原则作者鲍勃大叔点赞转发的文章:作者推荐将SRP视为DDD原则的自然结果:跨DDD限制上下文共享的模型是不安全的。单一职责原则 (SRP) 是SOLID设计原.

使用DDD和Spring HATEOAS构建一个MRP的API实例和源码 - elca

2411 2 21K
通过一个具体的例子告诉你我们如何在 Java 中实现一个只允许根据业务规则定义良好的状态转换的域模型,然后使用 Spring 在一个REST-API 中发布它。看看我们如何构建一个完全由该 API 驱.

系统思考最大的错误是整体与部分傻傻分不清 - Harish Jose

1316 1

较大的“整体”并不总是与“部件”属于同一组,例如,“一群人”与“人”不属于同一个集合,否则你会范分类错误。banq注:集合Collection与集合中元素不属于同一类型,在Java中集合的类型是Col.

Rusty类型状态Typestates入门 - rustype

1457 1 5K

如何使我们的计算机语言的类型系统更智能,将类型推理从程序员转移到编译器?在当今,随着系统变得越来越复杂,移动部件越来越多,能够确保每个部件协同工作变得极为重要。Rust 的借用检查器就是一个很好的例子.

复杂混乱系统的三种应对方式

1733 2
A 是大脑的工作方式。C是向上级解释的方式。B 正在行动,下面这张图轻松表达系统思维的最佳方式。这种方式不仅适用于“问题”,它是思考和管理任何复杂系统的好方法.

实体本身或实体之间关系哪个更重要? - scientificamerican

1686 1

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

微服务的分布式事务模式比较 | RedHat

1661 1 2K
作为 Red Hat 的一名咨询架构师,我有幸参与了大量客户项目。每个客户都会带来自己的挑战,但我发现了一些共同点。大多数客户想知道的一件事是如何协调对多个记录系统的写入。回答这个问题通常涉及对双重写.

深入了解 Builder 模式 - frankel

1012 4K

使用 Builder 模式的一个常见实现是拥有一个流畅的接口,以下为调用者代码:Person person = new PersonBuilder().withFirstName("John").wi.

经典OOD书籍《对象设计:角色、责任和协作》PDF免费下载

1861 3

经典 OOD 书籍《对象设计:角色、责任和协作》( Object Design: Roles, Responsibilities, and Collaborations )可从 Pearson 的网站.

高内聚的启发式含义?

780 1

“一个实体在内聚上最通用含义是:当其各部件之间的因果相互作用强于部件与其环境之间的因果相互作用时” ... 来自动力系统理论“An entity is _cohesive_ in the most g.

DDD聚合这个词语准确吗? - jbogard

849

具有讽刺意味的是,强调无处不在的语言的 DDD 社区搞砸了这么多预先存在的DDD术语:DDD聚合Aggregate这个词语准确吗?“聚合”完​词语可能​全过载。DDD社区意见领袖mathias将其视为.

DDD聚合:整体行为不是由其部件组合而成的

792

“在某些实体中,整体(DDD聚合)的行为既不能从其单个元素得出,也不能从这些元素组合的方式得出;恰恰相反:任何部件的属性都由整体的内在结构规律决定。 ” -Max Wertheimer, 1924马克.

多年教训:根据DDD设计原则改变JPA/Hibernate的使用方式 - lorenzo

1776 3 8K

我最近一直在更新一些培训材料,思考JPA更好的教学方法和讨论方式。我一直在思考的一件事是我们通常是如何使用JPA?这里结合我所经历的(和观察到的)痛苦,应该如何改变传统使用方式?JPA通常被视为一组注.

从 CRUD 迁移到事件溯源的秘诀 - eventstore

1260 2 3K

事件溯源是高性能协作域的一种很好的架构风格,可以保证它增加的复杂性。但正如我之前所说,就像任何其他原则或实践一样,即使是事件溯源也有利有弊。而且它不是顶级架构。您系统的某些部分可能会从中受益,但其他部.

Java函数式编程中归约reduce()的使用教程

8139 4 8K

归约Reduce流运算允许我们通过对序列中的元素重复应用合并操作,从而从元素序列中产生一个单一结果。其中参与者有三者: 标识identity:代表一个元素,它是归约reduce运算的初始值,如果流为空.

快速、慢速两种思考以及相关性与因果性的思考

1158

相关性不代表因果关系,但是没有相关肯定没有因果吗?诺贝尔奖获得者卡尼曼也有范常识错误的时候:《思考,快和慢》是由诺贝尔经济学奖获得者丹尼尔·卡尼曼(Daniel Kahneman)于2011年出版的畅.

网上商店DDD系统的配送微服务设计 - itnext

1211
本文是SpringBoot + DDD + Apache Kafka实现最终一致性的教程与源码第三部分:最后,Fulfillment配送服务负责履行订单。下面显示了实现服务的数据模型的局部视图。此领域.