【问题标题】:DDD Aggregate Root for static tables静态表的 DDD 聚合根
【发布时间】:2020-03-23 17:31:44
【问题描述】:

我们正在使用 Spring Data JPA 重构现有应用程序。有近 250 个静态代码数据库表可以被其他聚合根引用。为了将代码表附加到聚合根,我们需要访问特定的代码表记录。这是否意味着我们应该创建 250 个存储库?我的意思是每个静态代码表都有一个 repo,因为它本身就是一个聚合根?

我看到this 的问题,有点类似,但就我而言,我有很多静态表。

【问题讨论】:

    标签: jpa design-patterns spring-data-jpa domain-driven-design repository-pattern


    【解决方案1】:

    在 [tag:Domain Driven Design] 的上下文中,REPOSITORY 应该被理解为 Eric Evans 在其 2003 年的书中所描述的那样。第 6 章介绍和描述了存储库模式,即“域对象的生命周期”。

    因此,如果您的静态代码表具有由域模型管理的生命周期,那么是的,应该可以将其表示为具有自己存储库的聚合。

    另一方面,如果它们只是参考数据,那么使用存储库模式并不是特别重要。您需要某种 种实现隐藏边界,以便您的应用程序与如何访问参考数据的细节隔离开来,但该边界并不特别需要是一个存储库。

    【讨论】:

    • 最后,我们决定为每个表创建一个 repo,因为这些代码将由应用程序的管理员用户更新。
    猜你喜欢
    • 2016-03-21
    • 2012-02-19
    • 1970-01-01
    • 2010-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-06
    相关资源
    最近更新 更多