考虑现有的旧数据库,在域驱动设计中检测聚合根

问题描述

进行有关ddd的练习并更新旧的asp.net应用程序 ,并且难以确定汇总根 我有一个旧的数据库,员工正在向那里报告工作时间

最常见的用例是员工在单个帖子中报告一个月的工作情况(n个工作报告行)

  1. 数据库中的工作报告行代表一个月中的一个工作日
  2. 某天某员工可能有零行或多行工作报告。

我的第一个想法是将工作报告作为根,因为它在db中的关系置于中间, 但是由于用户(员工)获取并输入了一系列工作报告 我不确定是否通过在一个工作单元中处理一系列工作报告来适应模式。 所以我想我的问题是在我的情况下聚合根可以是什么 针对特定问题附加数据库erd。 Work Report diagram

赞赏有关正确建模的任何想法。 谢谢,

解决方法

赞赏有关正确建模的任何想法。谢谢,

如果您拥有的是数据库,换句话说,如果您只是从外界捕获信息并将其缓存以备后用,则放置一个域模型在该数据库前面的>可能是矫kill过正。

域模型开始变得有趣的时刻是当您将新信息(来自外部世界)与旧信息(已经写入数据库的内容)组合在一起时。换句话说,域模型与信息捕获无关,而与行使域协议有关。

如果这不是您要做的,那么找到一个明智的“集合”将真的很困难。