DDD值对象

     

什么是DDD领域驱动设计的战术设计?

2989 2

战术设计是一组在实施中使用的技术资源域模型,这些资源必须应用在一个单一的有界上下文中。如果正确使用战术设计标准,您实际上可以丰富您的领域模型,从而清晰地反映您的业务。请参阅下面的主要构建模块:实体一个.

TypeScript如何实现DDD的值对象?

1172 1 5K

值对象是领域驱动设计的主要组件之一。这是TypeScript中的一个简单的Value Object类。在领域驱动设计中,值对象是帮助我们创建丰富且封装的域模型的两个原始概念之一。实体和价值对象这两个概.

Java中的不可变数据结构 - Jworks.io

1483 1 7K

开发人员通常认为拥有final引用,或者val在Kotlin或Scala中,足以使对象不可变。这篇博客文章深入研究了不可变引用和不可变数据结构。不可变数据结构的好处不可变数据结构具有一些显着的好处,例.

如何使用Spring Projections和Join实现DTO?

2484 1 16K

SQL JOINS和DTO是我们打击N + 1问题的好办法,可参考DTO标签看看其他方式,这里,我们通过使用Spring Projections(DTO)和通过JPQL和本机SQL(用于MySQL)编.

如何通过ResultTransformer和原生SQL或JPQL生成DTO?

1994 6K

获取超出需要的数据更容易导致性能损失。使用DTO可以让我们只提取所需的数据。在这个应用程序中,我们依赖于Hibernate ResultTransformer和原生SQL生成DTO?对于不可变的DTO.

如何通过构造函数和JPQL生成DTO?

1267 2K

获取超出需要的数据更容易导致性能损失。使用DTO可以让我们只提取所需的数据。在这个应用程序中,我们依赖于Constructor Expression和JPQLL生成DTO。点击DTO标签可获得更多生成.

如何通过javax.persistence.Tuple和原生SQL生成DTO?

1774 4K

从实体中获取DTO数据,也就是从DDD聚合中获取DDD值对象有多种方式,如果我们不使用DTO方式,直接返回完整实体聚合,容易导致性能损失,使用DTO可以让我们只提取所需的数据。在这个应用程序中,我们展.

如何通过SqlResultSetMapping和NamedNativeQuery生成DTO?

1713 4K

获取超出你实际需要的数据容易导致性能损失。使用DTO可以让我们只提取所需的数据。在这里我们展示依赖SqlResultSetMapping,NamedNativeQuery和EntityManager实.

如何通过Hibernate/JPA的SqlResultSetMapping生成需要数据的DTO?

5203 5K

获取比你实际所需要的更多数据并不好,此外,当您不打算修改实体时,获取实体(通过在持久化上下文中加入的方式获取实体)是最常见的错误之一,它隐含性能损失。因此,使用DTO可允许我们仅提取所需的数据。在这个.

Builder模式与Java语法

23318 2 13K

Builder模式是在Java中最流行的模式之一。它很简单,有助于保持对象不可变,并且可以使用Project Lombok的@Builder或Immutables等工具生成,仅举几例。模式的流畅变体示.

Lombok让Java再次变得酷酷的 - Grubhub Bytes

2175 1 20K

在Grubhub,我们在大多数后端编程中都使用Java。Java是经过实践考验的语言,在过去的20年里证明了它的速度和可靠性。虽然我们已经使用Java多年,但最近它已经开始显示它岁数大了。虽然Java.

使用Builder设计模式实现不变性 - DZone Java

1034 7K

Effective Java的一条建议是,除非有充分的理由让它们变得可变,否则你应该让你的类不可变。如果一个类不能成为不可变的,那么尽可能地限制它的可变性。不可变类定义了一旦创建,就永远不会改变其状态.

粗心的Mock模拟测试是有害的 - Philippe Bourgau

1143 10K

在2010年至2014年期间,我正在开展一个名为http://mes-courses.fr的辅助项目。这实际上类似“家庭购物”。我希望人们能够在5分钟内通过使用更好的在线百货界面购物。我使用的是Rub.

什么是实体边界交互器架构

1997 2K
实体边界交互器Entity—Boundary—Interactor(EBI)源自Bob大叔在其题为“ Architecture:The Lost Years”及其着作的系列会谈中最初构想的想法。EBI.

Cookie Cutter架构 - Janos Pasztor

1239 1 9K

在业务应用程序方面,您需要一个可以很好地扩展的体系结构。这是我的看法,基于Uncle Bobs EBI。尽管大多数人都认为我是DevOps人,但我经常在咨询项目期间使用业务应用程序,甚至在为DevOp.

为什么不变性至关重要 - Janos Pasztor

812 7K

我以前在干净的代码中谈到了不可变对象,但究竟是什么呢?我们为什么要使用它们?不可变对象是一个非常强大的编程概念,可以避免各种并发问题和一大堆错误,但它们不一定容易理解。我们来看看它们是什么以及我们如何.

体面编码之通用原则

854 2K

更喜欢函数性方法。相比副作用,不可变的状态使代码不易出错,并且更容易推理。最小化持有状态。任何形式的状态(例如变量,缓存)往往是复杂性和问题的根源,因此最好尽可能少地保留它。如果约束允许,更喜欢在需要.

领域驱动设计简介之二

3313 2 7K
架构模块正如我们已经指出的那样,大多数DDD系统可能会使用OO范例。因此,我们对领域模型的元素可能很​​熟悉,例如实体,值对象和模块。例如,如果您是Java程序员,那么将DDD实体视为与JPA实体基本.

值对象的层次结构

1217 6K
有两个类:Person  和Document,具有以下业务规则: 一个Person  可以拥有零个或一个Document。 Document只能分配给一个Person  。 没有Person就没有Do.

实体与价值对象的比较

2536 3K

为了定义实体和值对象之间的差异,我们需要引入三种类型的相等性,当我们需要将对象相互比较时,它们会起作用。引用相等意味着如果两个对象引用内存中的相同地址,则认为它们是相等的。标识符相等性意味着类具有id.

DTO与值对象和POJO比较

3090 1 6K
本文想澄清DTO与Value Object与POCO的区别,其中DTO代表数据传输对象,而POCO是Plain Old CLR Object,在Java环境中也称为POJO。对Value Object.

实体标识与数据库主键

3709 3 2K

今天,我们将讨论DDD意义上的标识与数据库主键之间的区别。 我们经常将两者混合在一起,但它们真的是一回事吗?实体标识在DDD的背景下,标识是实体固有的东西。 只有实体拥有它; 它是用于区别于所有其他实.

不变性immutablity设计 回复

2 1143

楼主,事实上我看了帖子后还是比较混乱,不明白immutablity是怎么解决并发问题的,请楼主指教。我看了帖子后大概理解是,值对象类似于栈上的值数据,只有自己的线程可以访问和修改,不同线程拥有的实际上.

两个凡是:凡是在系统树上的才是有意义的,凡是脱离了树的都是无意义的。

1313 2 2K

我们的业务系统就类似一个小区(appSystem),一个小区中有很多资源,对小区中的所有资源按照类型进行树形的分类就是资源类型(resourceType),比如“停车位”是一种类型的资源、小区中的“绿.

值类型Java库包AutoValue

3831 3 4K

Google发布了值类型Java的开源库包AutoValue 1.0。方便使用Java创建值类型。什么是值类型value type?一个值类型对象value-typed object是指没有标识的对象.

在模型的两个聚合中如何重用对象

2 1669

在聚合1中,对象A是一个实体对象,在聚合2中,对象A是一个值对象,这种情况,在模型中该如何设计?是为聚合1,聚合2分别定义对象A,还是他们可以重用同一个对象A?例如,在汽车这个聚合中,因为需要对每个轮.

元数据值对象如何加载

2 1068

在业务系统中,会使用很多元数据,比如某些论坛注册需要选择国家,总不可能将全世界所有的国家名称和代码都建立成枚举,这种应用一般都是将这些国家建立成数据库端的元数据表,这种元数据映射到系统中肯定是VO,这.

关于值对象的理解,疑惑

552

比如权限这块 我们有user 、role 和userrole 聚合根,userrole里面的userID roleID 是不是指对象.

看了《ImplDDD》感觉又回到了原点,困惑!

5 1644

1.ProductId, BacklogId 之类的“值对象”真的有必要存在,为什么?明明只是一些简单的id,非要变成各种所谓的VO,到底是为哪样?让UML看起来更像“聚合”?2.“小聚合” 、“按i.

值对象如何共享

11 2261

在看DDD时,说到 值对象不可以改变,于是就可以共享。如果 值对象相同就都可以保持对它的引用,达到少创建值对象。如下 假设,一个User 实体,Address是它的值对象 public clas.