DDD仓储

     

Spring Boot中分页查询方法一次获取所有结果

47 14K

在 Spring Boot 应用程序中,我们经常需要一次向客户端呈现 20 或 50 行的表格数据。分页是从大型数据集中返回一小部分数据的常见做法。然而,有些场景我们需要一次性获得完整的结果。在本教程.

Go中的DDD存储库设计模式

76 3K

根据 DDD 原则实现存储库和聚合可以封装领域逻辑并增强应用程序的可维护性。确定聚合边界需要深入考虑域和表设计,但这可以说是软件开发中更有趣的方面之一。让我们考虑一下电子商务网站的购物车界面。假设有购.

Spring Data两种仓储比较:Crud和JPA

814

Crud 和 JPA Repository 都是 Spring 数据库的接口。使用 Spring Data的优点是它提供了样板代码来访问您的数据层。Crud Repository它是基础接口并扩展了 .

为何数据库优先ORM模型在Go社区受到欢迎? - Reddit

1137 2 2K

数据库优先ORM模型(db first ORM)的定义:根据数据库自动生成代码,而不是根据代码生成数据库表,如 sqlc、sqlBoiler;另外一种ORM模型是:根据代码自动生成数据库表,这种称为代.

Java Bean验证是一种反模式 - Code-Held

678 2K

使用Bean验证是一种反模式的做法。它隐藏了与业务相关的约束,它将验证发生时的选择权留给了其他框架代码,我甚至看到了这样的情况:开发者期望验证 "必须发生",但它从未发生。当然,也没有对其进行测试。而.

Yorm:一个基于Java Record的简单ORM框架

1728 2K

Yorm是一个基本的类似ORM的框架,能与Java Record一起工作。特点: 不需要生成类 不需要添加注解 不需要为基本操作编写SQL 与API REST和CRUD操作无缝衔接 在微服务的世界里,.

CQRS时是否使用存储库模式吗?

985

结论:如果我正在应用 CQRS 和垂直切片,这意味着在命令方面我将使用存储库来构建和返回聚合。聚合是一致性边界,负责由不变量控制的状态更改。在查询方面,由于我没有进行任何状态更改,因此我不需要聚合。聚.

MicroStream + Helidon高性能Java持久层

1948 1 4K

MicroStream是行业中真正的游戏规则改变者。如果你想创建真正高性能的微服务,在真正高压的环境中工作,那么Helidon + MicroStream是一个非常好的选择!它不仅易于设置和使用,而且.

使用Spring Data JPA在更改实体时发布DDD领域事件 - thorben

2994 1 13K

从 Spring Data JPA 1.11(Ingalls 版本)开始,您可以在保存实体对象时自动发布域事件。您只需要向实体类添加一个方法,该方法返回要发布的事件对象的 集合 ,并使用@Domain.

Spring Data 2021.0增加了对DDD聚合更多自动支持!

2100 3 8K

Spring Data 2021.0(代号为Pascal)是继六个月的新节奏之后的第二个版本。它附带了对许多现有接口和编程模型的改进。这篇博客文章解释了以下主题: 1. 为CrudRepository.

Java各个持久层框架的特性比较

2135 3 27K
Jdbc jooq mybatis hibernate springdata 五种或是ORM框架的比较。 .

使用Spring Data创建只读存储库 | Baeldung

1018 2K

在这个简短的教程中,我们将讨论如何创建一个只读的Spring Data Repository。有时有必要从数据库中读取数据而无需修改它(CQRS)。在这种情况下,拥有只读的Repository接口将是.

比较DAO与Repository存储库模式 - Baeldung

2373 2 7K

存储库和DAO的实现被认为是可互换的,尤其是在以数据为中心的应用程序中。这引起了他们之间差异的困惑。在本文中,我们将讨论DAO和存储库模式之间的区别。 DAO模式数据访问对象模式(也称为DAO模式)是.

DDD中业务模型与框架等技术平台解耦的简单方法 - matthiasnoback

1723

如果要编写可长期维护的应用程序,则必须与框架,ORM,HTTP客户端等分离,因为技术在发展,您的业务应用无法永远一直使用它们。 三个简单的规则要完成框架解耦,您只需遵循以下简单规则:所有服务都应获取其.

DTO、存储库和数据映射器在DDD中的作用 | Khalil Stemmler

3115 1 18K

在领域驱动设计中,对于在对象建模系统的开发中需要发生的每一件事情都有一个正确的工具。负责处理验证逻辑的是什么?值对象。你在哪里处理领域逻辑?尽可能使用实体,否则领域服务。也许学习DDD最困难的方面之一.

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

2969 2

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

Repository存储库模式 – Abhishek Chaudhary

4533 3 2K
Repository模式又称为仓储模式或存储库模式,替代以前的DAO模式:存储库模式限制我们在应用程序直接使用数据库的数据,并为数据库操作,业务逻辑和应用程序的UI创建新层。它是软件设计模式的一部分。.

我们为什么要远离数据库生成的ID?- Tugberk Ugurlu

1845 1 2K

在我们当前为团队构建SQL Server数据目录的过程中,我们正在优化我们的解耦工程工作。有一些具体的因素对我们非常重要,从根本上说,这归结为两个核心原则,我希望每个软件工程专业人士都会同意: 我们不.

领域驱动设计简介之二

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

ActiveRecord比ORM更坏

3 5198 4

ORM已经不好了,ActiveRecord其实比ORM更坏,因为它隐藏对象其实是数据容器这样的事实,如果说ORM是将真正对象变成数据容器,那么ActiveRecord还隐瞒了这样事实,也就是说,如果说.

ORM用于复杂CRUD,SQL用于大规模读取

1 1094 1 10K

现在人们已经认识到Hibernate等ORM有一定的局限性,在CQRS读写分离的架构中,ORM主要用于命令写操作,进行复杂的增删改查CRUD;而SQL用于查询读操作。Hibernate ORM, jO.

仓储是否需要缓存领域对象?

3 1650

如题,仓储是否需要缓存领域对象,即每次从仓储里拿出领域对象都是同一个对象而不是每次都从数据源中构造一个新对象,此处的缓存是指JVM的内存,不是Ehcache或者Memcache等。请大家指教。另外问一.

Active Record和Data Mapper的混合ORM

1 2439 1 2K

这是来自Node.js路线有关混合两种ORM模式Active Record(活动记录模式)和Data Mapper(数据映射模式)的思考。其实质是引发了失血模型与充血模型的区别,更深层次是引出了掌握D.

事件处理器中对领域的操作

1 1299
借用一下一位DDD朋友论坛中的图: 注意图中红色框部分,这里有点疑问,当某个业务跨越多个聚合的情况下,通过领域事件来进行解耦的方式进行处理的情况下,如果"聚合A"发出一个事件"EA"到事件总线,(由.

关于业务规则

7 2711

按照对DDD的理解,一般使用规约模式实现内禀的业务规则。但有些业务规则可以体现为对其他聚合的查询。而对仓储的调用一般都放在应用层,而这样会造成部分业务逻辑散落在应用层。请问大家有没有好的办法处理?附上.

领域模型中如何访问数据库

2 1451 1

比如一个模型中,有一个方法,就拿注册来说吧,注册需要判断用户名是否重复,这个判断肯定需要查询数据库了,那么这个在模型中如何实现呢,还有一些类似需要查询数据库字典表的数据来判断是否走下面的代码,这些类似.

元数据值对象如何加载

2 1052

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

聚合内存在集合应该如何修改?

3 1059

Hi,各位,我想请问一下,如果一个聚合之内存在一个多重的关系,例如:Resource(1)--->(*)Content其中Resource是聚合根,Content是聚合根内一个实体如果我需要将持久化的.

多个domain黑匣论

2 1377 2

理论总是绕口的,特别对我这种懒人。只能说我懒,不能说理论无用。那么标题“多个domain黑匣论”,简单的来说就是让领域层本身可以分为数个领域,下面以jsdm代码为例(记住:jsdm是nodejs框架还.

ORM真的不适合DDD

52 17229 15 2K

第一篇帖子,先自我介绍一下,我从07年开始关注并实践DDD,也一直在关注jdon的成长(虽然一直没有注册ID并发言)。自己的tech stack是.NET阵营的,一致也在致力推广.NET下DDD的实践.