什么是聚合根?

2023-12-09

我正在尝试了解如何正确使用存储库模式。聚合根的核心概念不断出现。当在网络和 Stack Overflow 上搜索有关什么是聚合根的帮助时,我不断找到有关它们的讨论以及指向应该包含基本定义的页面的死链接。

在存储库模式的上下文中,什么是聚合根?


在存储库模式的上下文中,聚合根是客户端代码从存储库加载的唯一对象。

存储库封装了对子对象的访问 - 从调用者的角度来看,它会自动加载它们,无论是在加载根的同时还是在实际需要它们时(与延迟加载一样)。

例如,您可能有一个Order封装了多个操作的对象LineItem对象。您的客户端代码永远不会加载LineItem直接对象,只是Order包含它们,这将是您的域的该部分的聚合根。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么是聚合根? 的相关文章

  • 通过 HttpClient 使用外部 REST Web 服务的存储库模式示例?

    我已经进行了相当多的搜索 但没有找到任何在 ASP NET MVC 应用程序中使用存储库模式使用外部 REST Web 服务的好示例 并且具有松散耦合和有意义的关注点分离 我在网上找到的几乎所有存储库模式示例都是编写 SQL 数据或使用 O
  • 为什么抽象类应该实现抽象基类的抽象方法?

    在下面的示例中 该类Derived实现抽象方法method从课堂上Main 但我想不出在抽象中填写方法体的理由Derived类的实现 当然 我应该只在实际类中实现抽象方法 那么我怎样才能避免这样做呢 我还可以做些什么 abstract cl
  • 进度状态报告模式

    我正在实现需要显示进程栏 或进度百分比 的长时间运行的进程 长时间运行的过程的整体逻辑很复杂 各种分页数据检索 因此 我最终在代码中的不同位置硬编码了大量百分比 在更新完成百分比时 什么被认为是最佳设计模式 我发现 JFace 周围使用的模
  • 如何在NodeJs中应用Java/Spring的分层架构?

    我已经尝试学习 NodeJS 有一段时间了 所有书籍和教程似乎都遵循类似的代码结构模式 例子 const express require express const app express app set view engine hbs a
  • const int 列表而不是 enum

    我开始研究大型 C 代码库 并发现使用带有多个 const ints 字段的静态类 这个类的行为与枚举完全一样 我想将类转换为实际的枚举 但权力被拒绝 我想转换它的主要原因是这样我可以将枚举作为数据类型而不是 int 这对可读性有很大帮助
  • tbb:并行查找第一个元素

    我遇到了这个问题 查找列表中满足给定条件的第一个元素 不幸的是 该列表相当长 100 000 个元素 并且使用单个线程评估每个元素的条件总共需要大约 30 秒 有没有办法干净地并行化这个问题 我浏览了所有tbb模式 但找不到任何合适的 UP
  • PHP:我是否将事件驱动编程与信号感知接口(信号和槽/观察者模式)混淆了?

    我看到很多人说 Symfony2 Zend Framework 2 等都是事件驱动的 在桌面世界中 通过事件驱动编程 我了解到应用程序每当其状态发生变化时都会通知其观察者 由于 PHP 应用程序是无状态的 因此无法执行此类操作 IE 让观察
  • 数据映射器和存储库之间到底有什么区别?

    嗯 我一直在试图找出数据映射器和存储库之间的区别 但到目前为止我仍然没有 在我看来 专家程序员说 存储库是映射层上的另一个抽象层 其中集中了查询构造代码 看似可以理解 但还是有些抽象 我之前在 stackoverflow 上读过这篇文章 这
  • 为什么我们需要将 delegate 设置为 self?为什么编译器不默认它?

    I think我完全理解授权的概念 我的问题是 当我们这样做时 class someViewController UIViewController UITableViewDelegate 会吗ever可能我们不想设置tableView de
  • 将 javascript 放在 header 之外有多糟糕?

    这个问题几乎已经说明了一切 我开始添加一些功能到我的周末项目 http www my clock net 对于我和几个朋友来说 这是一个小应用程序 因为我们是交换生 所以它对我们来说有点有用 但事情是这样的 我在 php 中执行此操作并使用
  • C++ OOP:将哪些函数放入类中?

    假设我有一个a类 class a public void load data private void check data void work data void analyze data 这些函数都对类或其成员之一执行某些操作 然而这个
  • 策略、访问者和模板方法模式之间有什么区别?

    我在课堂上刚刚学习了这些设计模式 但是我看不出它们之间有什么区别 它们听起来是一样的 都是在抽象类之上创建具体类 有人可以帮我打消这个疑虑吗 谢谢 访问者 策略和模板模式都包含算法的应用 最大的区别在于它们是如何被唤起以及如何在实践中使用的
  • 使用通用存储库模式和流畅的 nHibernate

    我目前正在开发一个中型应用程序 它将访问不同站点上的 2 个或更多 SQL 数据库等 我正在考虑使用类似的东西 http mikehadlow blogspot com 2008 03 using irepository pattern w
  • 如何在 Java 中创建具有相同类型参数的方法?

    我的代码如下所示 enum EnumType CATEGORY GROUP MAIN Methods public void call EnumType type switch type case CATEGORY return metho
  • 如何在javascript中实现观察者模式?

    你好 我正在尝试在 JavaScript 中实现观察者模式 我的index js document ready function var ironMan new Movie ironMan setTitle IronMan ironMan
  • 每个用户的单例模式 ASP.NET C#

    我正在使用 asp net c 构建一个 Web 应用程序 并且我有一个类 我想在多个页面中使用该类 而无需每次都实例化它 我需要加载其中的数据并且在用户会话期间永远不会丢失它们 我考虑过单例模式 但它在浏览器之间共享类的实例 我该如何解决
  • java 中带有子类化的单例

    在 Java 中实现单例的最常见方法是使用私有构造函数和以下形式的公共访问器方法 public class Singleton private static Singleton instance null private Singleton
  • 如何将只缓存某些内容的字段添加到ADT?

    我经常需要向 ADT 添加字段 仅记住一些冗余信息 但我还没有完全弄清楚如何又好又高效地做到这一点 说明问题的最好方法是举个例子 假设我们正在使用无类型 lambda 项 type VSym String data Lambda Var V
  • 丰富的领域模型和 ORM

    Martin Fowler 认为贫血领域模型是一种反模式 将持久性模型作为域模型进行滚动似乎也严重偏离 因为对象关系阻抗不匹配 http en wikipedia org wiki Object Relational impedance m
  • 使用策略和工厂模式进行依赖注入

    我正在开展一个业余项目 以更好地理解控制反转和依赖注入以及不同的设计模式 我想知道是否有将 DI 与工厂和策略模式结合使用的最佳实践 当策略 从工厂构建 需要每个可能的构造函数和实现不同的参数时 我面临的挑战就出现了 因此 我发现自己在服务

随机推荐

  • 如何在 JavaScript 中对字符串进行排序

    我有一个对象列表 我希望根据字段进行排序attr字符串类型 我尝试使用 list sort function a b return a attr b attr 但发现 似乎不适用于 JavaScript 中的字符串 如何根据字符串类型的属性
  • 出现错误时如何退出 rpm 安装

    我正在寻找一种在某些条件不成立时退出 rpm 安装的方法 我在 pre 部分添加了一个小脚本 如果我的条件失败 该脚本将退出安装 我面临的问题是我看到 pre scriptlet 被执行 并且 rpm 安装失败 然而最后我得到了我不想要的这
  • 将函数形式从代码作为字符串应用/映射到新函数体中

    我想获取用户的代码并进行转换reactive 调用这样的函数 a lt reactive input n 100 并将其转换为 a lt function input n 100 这是我的一部分闪亮的物体包裹 我已经整理了一个解决方案 但我
  • 如何在 PropertyGrid 中重新标记模式 UITypeEditor 的省略号按钮?

    我有一个 Windows 窗体 PropertyGrid 和一个客户 UITypeEditorhttp msdn microsoft com en us library system drawing design uitypeeditore
  • PHP 的问题包括区分大小写的文件系统

    我在 Windows 中构建了一个 PHP 项目 正如你所知 在 Windows 中 fun php 和 Fun php 是相同的 但在 Linux 中不同 Q1 gt 由于我的项目将在 Linux 中运行 如何解决这个问题 文件名错误 Q
  • C语言中反斜杠的用法

    在C语言中 如果反斜杠后面没有任何内容 它会起作用吗 我在 case a 的分隔符后添加了 但它对任何事情都没有影响 那么这里的 有什么作用呢 include
  • Firebase 身份验证失败,并显示 auth/network-request-failed 网络错误(例如超时

    我在尝试进行 Firebase 身份验证时遇到了非常奇怪的行为 更重要的是 我制作了一个可以运行的版本和一个不能运行的版本 首先 有效的版本
  • IntelliJ 集成 Play 2 应用程序抛出库“scala-2.10.0-RC1 未使用”

    我刚刚生成了一个新的 Play 应用程序 版本 2 1 RC1 这包括两个 Scala 编译器 库对 斯卡拉2 9 2 斯卡拉 2 10 0 RC1 整个过程可以在 IntelliJ IDEA 12 中编译 但是warning如图所示 看来
  • Meteor - 插入失败:找不到方法

    我的 Meteor 的 JS 文件有问题 当我尝试将任何数据插入数据库并反映在图表上时 出现此错误 插入失败 找不到方法 我尝试过直接从数据库获取数据 但也不起作用 提前致谢 LinePeople new Mongo Collection
  • 将网络位置保存为 .txt 文件(不使用 GPS)

    我是android编程的初学者 我的研究生项目是关于跟踪移动设备 我需要代码将位置 不使用 GPS 保存为文本文件 有人建议我执行此操作的代码 这对我来说会有很大的帮助 尝试这个 locationManagerNetwork Locatio
  • 我可以在没有 Google Apps 脚本的情况下在 Google 电子表格上创建自定义函数吗?

    我正在使用带有 Google Apps 脚本的 google 电子表格 但它很容易给我错误信息 像这样 Error此 Google 用户帐户每秒调用脚本的次数过多 第 0 行 有什么办法可以避免该错误吗 reduce函数调用方式除外 或者支
  • 密码的javascript正则表达式至少包含8个字符,1个数字,1个大写字母和1个小写字母[重复]

    这个问题在这里已经有答案了 我正在尝试编写一个正则表达式来验证密码 该密码必须满足以下条件 至少包含8个字符 至少包含 1 个数字 至少包含 1 个小写字符 a z 至少包含 1 个大写字符 A Z 仅包含 0 9a zA Z 我尝试了以下
  • SQL Server 中的更新顺序

    创建脚本 CREATE TABLE dbo tblTEST AccountNO varchar 10 NOT NULL Serial int NOT NULL AccountType varchar 1 NOT NULL Due money
  • 使用 WMI 监控驱动器

    我正在尝试监控本地电脑的驱动器 我对两个事件感兴趣 驱动器连接 USB 驱动器 CD ROM 网络驱动器等 和断开连接时 我使用 ManagementOperationObserver 编写了一个快速概念证明 它部分有效 现在 使用下面的代
  • 立方体纹理问题

    我试图制作一个每个面上都有不同纹理的立方体 我现在正面和背面都可以工作 现在我正在尝试制作立方体的右面 但出了问题 因为我完成了正确的脸 但纹理显示错误 就像拉伸和切碎 我的代码中有一些不好的东西 我不知道是什么 这是我的代码 public
  • 从图库中随机查找一张图片

    我正在开发一个需要获取随机图片来自 Android 设备上的图库 问题是我只能找到与图库交互的方法 允许用户选择他们想要的图片 有人知道我应该做什么才能使这项工作成功吗 Java 代码会很有帮助 我可能会用this方法 然后将 ID 放入数
  • 在 .NET 6 Minimal API 中使用 IEnumerable<> 和 IFormFileCollection

    问题是 我有一个从 URL 连接 pdf 的 API 它在 NET 5 中工作 但是当开始迁移到 NET 6 时 使用 IEnumerable IFormFile 和 IFormFileCollection 只接受请求 applicatio
  • 在 Qt C++ 中的自定义项目委托上绘制文本时的性能问题

    Goal 创建一个项目委托 其中包含要使用的自定义文本内容QListView Problem 绘制文本QPainter在重新实施paint 的方法QAbstractItemDelegate的子类明显比绘制形状和像素图慢 将基类更改为QSty
  • 将数据数组渲染为分页组件

    我是 React 新手 所以如果我的术语有误 请原谅我 我想创建一种对组件数组进行分页的方法 为此 我已按每页所需的项目数量对数组进行了切片 并将每个页面存储到一个数组中 例如 const limit 4 const numPages 20
  • 什么是聚合根?

    我正在尝试了解如何正确使用存储库模式 聚合根的核心概念不断出现 当在网络和 Stack Overflow 上搜索有关什么是聚合根的帮助时 我不断找到有关它们的讨论以及指向应该包含基本定义的页面的死链接 在存储库模式的上下文中 什么是聚合根