gpt4 book ai didi

domain-driven-design - DDD 性能问题急于加载 AR 子实体

转载 作者:行者123 更新时间:2023-12-02 22:31:30 25 4
gpt4 key购买 nike

在过去的几天里,我正在制作一个示例应用程序来申请/学习 DDD。DDD 的原则之一(如果我错了请纠正我)是对实体的所有更改都应该通过聚合根(AR)进行,并且 AR 应该加载他的子实体。通过这种方式可以更轻松地验证聚合一致性。只有一点大细节困扰着我。我无法理解 DDD 如何处理性能问题。想象一下,我有一个 Order(AR),比方说,OrderLine 有 20000、30000。急于加载大量子记录会存在性能问题。说 Order as AR,你可以想象另一种可能发生这种情况的场景。我期待着阅读您对这个主题的看法。

最佳答案

DDD 并非总是没有技术考虑因素。如果您有一个可以包含大量子实体的 AR,请考虑是否可以让子实体单独成为 AR。必须在考虑最终一致性的情况下做出此决定。

在您提供的示例中,考虑 Order AR 是否真的需要首先引用 OrderLine 实体以保持完整性。如果是,请考虑让 OrderLine 自己成为 AR,在这种情况下,您可能不得不处理最终一致性。当然,如果您将 OrderLine 设为 AR,您的应用程序逻辑将发生变化,因为需要在 OrderLine 上执行的操作将不得不通过 OrderLineRepository 来访问 OrderLine,而不是通过 Order AR。

有关此的更多信息,请查看 Effective Aggregate Design by Vaughn Vernon .

关于domain-driven-design - DDD 性能问题急于加载 AR 子实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12179348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com