aggregateroot相关内容

处理聚合根

我是DDD的新手,所以我正在做一些练习,以了解更多内容.我有遵循以下规则的BC课程: 必须先创建课程,然后他们才能创建一个课程的模块 用户上传作业后,每个模块都会完成 用户将在完成所有模块后完成课程 定义:一门课程涵盖特定主题,由模块组成.例如,SAP课程有10个模块,例如:模块1:是什么?模块2:如何使用它?… 此后,我意识到Course是模块的聚合根,因为模块完成了,所以 ..
发布时间:2021-05-02 20:21:28 其他开发

聚合和聚合根源混淆

我已经分配了一个非常简单的项目作为考试,并且我有使用域驱动设计进行开发的想法. 许多人可能会说应用程序是如此简单,以至于使用存储库和UoW只是浪费时间,您也许是正确的,但我认为这是学习更多内容的机会. 该应用程序是一个“机票"系统,从下图可以很容易地猜到它的功能. 问题是我不确定我是否正确地分离了聚集体及其根. 为进一步解释,我想到了管理员只想插入一个新公司,或先加载公司然 ..
发布时间:2021-05-02 20:21:09 其他开发

聚合根中实体的操作

如果我设计了如下所示的AR,您如何认为应该更新一个订单行对象之一中的属性? 例如我如何更改我的订单行之一的标题(示例问题) 这是订单汇总根 public class Order { private readonly int id; 私人只读客户客户; //客户是另一个汇总 私有只读IList orderLines; 私有只读IOrderLine ..
发布时间:2020-10-25 21:18:09 其他开发

域驱动的设计和汇总参考

我正在设计域模型,但似乎有些不妥。 我从一个主要的集合开始。它引用了其他聚合,这些其他聚合也引用了更多聚合。我可以从主聚集开始旅行空域模型。 我看到的问题是我将所有聚集实例保存在内存中。 这是一个好的设计吗?我可以通过延迟加载来解决内存问题,但是我认为我有一个更深层次的问题。 我还有一个关于聚合引用的问题。我是否应该延迟将引用加载到其他聚合?如果是这种情况,我几乎永远不会使 ..

DDD根聚合根是什么?

很多示例(例如订单和订单行)很有意义,例如: Order 是包含 OrderLines Customer 的AR 是 AR 包含 Orders 。 问题是,包含 AR 是什么$ c>客户? 我想可能是“商店”之类的东西。 因此, shop.AddCustomer(customer) ... 但是,如何购买? 如果它是 AR (实体),则具有ID,因此 shop.Get ..
发布时间:2020-10-25 21:16:36 其他开发

如何为分层数据结构定义DDD聚合根?

我目前正在尝试将领域驱动的设计原则适应我的开发实践。而且我一直坚持如何为按层次结构组织的数据定义聚合根。 让我们以实例文件夹结构为例-每个文件夹可以具有0..N子-文件夹和子文件夹0..N也可以有0..N子文件夹,依此类推。 我的文件夹上有不变式,它是直接的和间接子文件夹-删除文件夹应导致删除所有子文件夹 如果DDD是有效方法,则可以说是聚合根“文件夹层次结构”,其中包含1个“文 ..
发布时间:2020-10-25 21:08:05 C#/.NET

DDD-如何设计不同有界上下文之间的关联

我已经设置了一个域项目,该项目正在填充ORM。该域包含不同的聚合,每个聚合都有自己的根对象。 我的问题是,应该如何对待跨越总边界的属性? 这些属性是否应该简单地忽略边界,以便 或者,是否应该没有从上下文A到B的直接链接,并且上下文A中的对象是否具有“ int ContextBId“属性可用于通过B聚合根从B获取域对象? 或... 示例: 上下文A =用户 上下文B = ..

处理DDD中的嵌套聚合

我刚开始使用DDD,但在弄清楚如何适应数据的关系性质时遇到了一些麻烦。我有被认为是我的聚合根的人,但是聚合也有自己的聚合。不想违反Demeter法则,我想知道我是否正在考虑这个错误,并希望某些DDD专家可以提供一些见识。 我的总计根是我的 Account 对象,该对象具有许多实体的集合,这些实体本身是各个 ProductComponent 实体。 AccountElement Acco ..
发布时间:2020-10-25 20:58:44 其他开发

在DDD中,具有深层次结构的聚合根是否合适?

我有一个系统,用户可以用表格回答问题。我有代表此模型的对象,但我不太确定如何根据DDD组织这些对象。 表格(具有其自己的列表); Section->(具有其自己的列表)组列表; 组->(具有自己的问题列表) 问题->(可以具有自己的子列表) -questions)问题; 问题->(有其自己的列表); 答案->(有其自己的列表)Answer_Details ; Answer_Det ..
发布时间:2020-10-25 20:53:02 其他开发

只读数据库视图如何适应存储库模式?

示例:您的数据库具有一个名为“ CustomerOrdersOnHold”的SQL视图。该视图返回特定客户和订单数据字段的混合过滤。您需要从应用程序中的此视图中获取数据。对这种视图的访问如何适应存储库模式?您将创建“ CustomerOrdersOnHoldRepository”吗?这样的只读视图是否被认为是聚集根? 解决方案 我宁愿分离读取存储库,最好甚至更改它的名称为Finder或Re ..

查找值是否应建模为聚合根?

作为域模型的一部分,假设我有一个 WorkItem 对象。 WorkItem 对象与查找值具有多种关系,例如: WorkItemType : UserStory 错误 增强 优先级: 高 中 低 可能还有更多,例如状态,严重程度等... DDD指出,如果聚合根中存在某些内容,则不应尝试在聚合根之外访问它。因此,如果我希望能够添加诸如Task之类的新Wor ..
发布时间:2020-10-25 20:49:26 其他开发

汇总根DDD / UoW /回购/服务

我对存储库的聚合对象有一些疑问。 我正在使用DDD / UoW / Repo和Service模式进行Rest Service。我们新的云Web应用程序将使用此服务。为此,我们还必须同步仍在生产中的旧数据库中的数据。我们创建了一个“ SyncService”,可以读写云中的数据,甚至可以读写到地球。 在我的Rest / DDD设计中。而且我不希望在这些基础上运行业务逻辑,因此在原始测试项 ..

CQRS是否对我的域正确?

我正在建模一个存档,该存档是视频需求系统的一部分。可以将档案想像成Windows资源管理器,其中多个用户可以创建文件夹,上传视频,重组文件夹等。有业务规则(权限)确定用户是否被允许执行任务(即重命名文件夹,移动文件夹,查看文件夹等) )。 我已将每个文件夹建模为一个聚合根,将一个文件夹移动到另一个文件夹似乎会影响两个聚合根。 据我了解,我应该发送一个事件来修改其他聚合。但是,令我担心的 ..
发布时间:2020-10-11 01:27:59 其他开发

在事件来源中如何处理一致性违规?

首先,让我说一下我对命令查询职责隔离和事件源(消息驱动器体系结构)还是陌生的,但是我已经看到了一些重大的设计优势。但是,还有一些我不清楚的问题。 说我有一个 Customer 类(包含一个名为 postalAddress 的属性( Address 类的实例,它是一个值对象)的聚合根) 。我也有一个 Order 类(另一个聚合根),该类包含(在 OrderItem 对象和其他东西中) deli ..

DDD:具有多个聚合根的共享实体

学习DDD,在我们的应用程序中有三个聚合根,不同类型的表单,所有这些都需要一些PDF才能上载.这些pdf上载具有一些元数据,例如谁上载以及何时上载等等,因此它们存储在自己的表中. 我的问题是,该PDF应该建模为值对象还是实体或聚合根. 对我来说,它看起来像一个名为“附件"的实体,但是此实体应该由所有聚合根共享,只有类型而不是实例共享.是否可以在多个根中使用相同的实体类型,如果是这样,那 ..

有限的上下文实现和设计

比方说,我有两个有界上下文,即 Shipping Context 和 Billing Context .这些上下文中的每一个都需要了解客户. 在数据级别,客户由数据库中的CustomerTbl表表示.该表包含描述客户的所有必要列. CustomerTbl中的列(简体): Name PhysicalAddress PaymentMethod 运输上下文与Name和Phys ..

实体框架4.1和父子关系的存储库模式

我仍然对存储库模式感到困惑.我要使用此模式的主要原因是避免从域调用EF 4.1特定的数据访问操作.我宁愿从IRepository接口调用通用CRUD操作.这将使测试变得更加容易,并且如果将来将来我不得不更改数据访问框架,我将能够这样做而无需重构大量代码. 这是我的情况的一个例子: 我在数据库中有3个表:Group,Person和GroupPersonMap. GroupPersonMa ..

何时更新审核字段? DDD

我有一个会议对象: 会议{id,名称,时间,CreatedBy,UpdatedBy} 和 MeetingAssignee {id,MeetingID,EmployeeId,CreatedBy,UpdatedBy) 会议作为聚合根,具有方法AssignEmployee。 我大约像我所说的AssignEmployee一样,将当前用户传递给Meeting对象,以便它可以相应 ..
发布时间:2020-06-06 19:41:42 其他开发

在另一个聚合根中引用另一个聚合根?

我已经完成DDD两年了,但在设计聚合时仍然面临挑战。多数民众赞成在DDD的乐趣,它使你的头旋转。我问这个问题是因为我是一个项目的架构师,而我们正在设计模型。当模型与GUI并行发展并与客户一起收集需求时,这是一次迭代。 现在问题了。我们的情况是,我们面临着一些正在成长为非常大的AR的聚合。我认为我擅长寻找Value对象并避免贫乏的领域模型陷阱。但是我从来没有遇到过这种情况。 一个例子是我们的系统 ..