Dojo
话题
新佳
订阅
极道
元认知
元逻辑
元设计
元编程
元语言
DDD聚合
领域模型的行为设计
领域模型的行为设计是面向对象领域建模设计的重要部分。 在没有设计的朴素的情况下,领域模型一般是一个数据对象(DTO等),其中只有setter/getter方法,是一种纯粹的数据结构,然后将很多数据结构的算法操作设计在Service等专门接口类中。这样,数据
使用依赖注入实现聚合根之间调用的逻辑悖论
DDD中如果有两个聚合根调用,如何解决?如果还是使用依赖注入,就会发生聚合根嵌套的可笑事情发生。 以代码为例子:有两个聚合根类AggregateRoot1 AggregateRoot2,AggregateRoot1的方法依赖AggregateRoot2实现
聚合与一致性和有界上下文
2013-01-21 08:32 "@banq"的内容如果在这里引入“事件”概念可能就很清晰了,实体 值对象 、服务 和
伪命题:Java传递的值还是引用?
Java参数传值还是传引用?Java按值传递与引用传递?JAVA值传递还是引用传递? 初学者经常被这个问题搞得头晕脑胀,甚至它还成为程序员面试的经典试题,但是在我个人看来,这个问题本身存在误导,如同妈和老婆落水你先救哪个一样,这个问题能够成
迪米特法则(Law of Demeter)与领域模型行为
在领域模型的行为设计中我们提到2013-04-22 15:37 "@banq "的内容
越深入越触目惊心!
看着这个标题似乎有点夸张了,但其实我做技术这么多年还没有遇到过这么不可思议的项目。我先来简单介绍一下吧,这个项目是个网络电话项目,里面涉及到号码映射和支付、话单等重要相关操作,但这样一个项目我了解到的情况居然在数据库设计中有200多张表,没有一张有外键关联,而且这样数据库居然3个网络电话项目共用。天
关于领域驱动设计中的“合法”性校验?
各位在进行领域驱动设计开发的时候,实体的“合法”性是如何实现的,怎么保证实体的一致合法性?检验代码分布在实体中,还是在服务中,还是都有?如果分布在实体中,如何保证一次性校验,使用构造函数或工厂保证?如何得到校验上下文?有种说法是实体永远有效;另一种则相反,必须经过业务逻辑校验才能算是“合法”实体。大
对领域驱动设计的初步认识的一些看法
看了flyzb 的对领域驱动设计的初步认识博客
DDD聚合体作为模块的示意图
贴图:领域驱动DDD聚合体作为模块,聚合体外使用事件消息,聚合体内封装了状态,外部调用必须通过消息事件实现,而不能直接通过方法调用。[该贴被banq于2012-12-06 12:01修改过]
危险的DDD聚合根
DDD的核心是聚合。这没有问题,大家都认同。但关于DDD中的聚合方式,可能就有些问题了。下面谈一下我的观点,希望大家参与讨论。 其实当初第一次看到DDD中关于聚合根部分论述的时候,就感觉有些僵化。同时,看到jivejdon关于聚合根实现代码时,有
聚合根相关理解,这样对吗?
1. 一个“上下文” 可以包含多个聚合边界2. 一个聚合边界里面只包含一个聚合根和多个实体或者值对象3. 在一个“上下文”中的某个聚合内的实体也可以被另外一个“上下文”中的聚合根或者实体引用, 但不能被同一个“上下文”中的其他聚合根或实体引用
聚合根是唯一的吗
如果出现两个领域模型,但是这两个领域模型的聚合根是相同的(比如人、书之类)。大家觉得这可能出现吗?如果出现这种情况,那么是分析设计出问题了,还是DDD出问题了?欢迎大家讨论
DDD lazy-load 是反模式?
看了很多外文贴和文章, 一些人说lazy-load是反模式, 理由是: 如果一个Aggregate需要加载太多数量的元素, 那这个模型就是有问题的. 但同时几乎没人给出一个合理的解决方案. 比如说一个Clazz聚合, 包含一个List s
不明白书上,一个对象聚合在2个对象下面是怎么回事
书上133页 图7-8leg聚合在itinerary还聚合在transport schedule那leg是实体还是值对象?它属于哪个聚合根下呢?生命周期是怎么样的呢? 看书上,itinerary是路线预定和实际运输的结合点,并且it
请教关于DDD中,聚合根概念和相关实践的一些疑惑
第一次在解道发帖,如果有什么不当的地方还请大家多海涵。楼主最近在做一个网页社交游戏的开发,探索性地开了个分支版本,准备实践DDD。 在游戏中,会有以下概念:玩家:即用户,拥有一个唯一的标识符,还有姓名、年龄等属性。道具:游戏中虚拟的
CQRS UML DEMO
看看如图是否符合CQRS+DDD的设计规范:
如何划分聚合,还有判定值对象?
目前在做一个类似银行业务的系统,使用DDD。如图示,把客户和银行的各项业务通过业务代理来负责。客户和银行其实是多对多的关系,通过业务代理分解为两个一对多的关系。我的问题是,客户、银行、业务代理,这三者如何划分聚合?业务代理是值对象还是实体? ddd聚合问题类图<
请教banq老师,聚合根划分案例
如果买家和卖家通过交易关联,交易包含多种商品条目,每个商品条目都有对应的品种,品种是卖家设定的,这个模型中,卖家、买家、交易三者的生命周期都是不同的,所以应该都是聚合根,交易中的商品条目是交易聚合体中的实体,而品种是卖家聚合体中的实体,每个商品条目对应一个品种,这二者是直接关联的,并且品种会因已售出
上页
下页
关闭