Verwalten von „Benutzer'-Entitäten zwischen Aggregaten in DDD
P粉775788723
P粉775788723 2024-04-04 09:54:15
0
1
606

Ich versuche, eine monolithische Anwendung mithilfe von DDD und hexagonaler Architektur in eine modulare monolithische Anwendung umzuschreiben. Versuchen Sie zunächst, drei Module (Aggregationen) zu extrahieren: „Shared“, „User“ und „Article“.

Soweit ich das richtig verstehe, sollte keine Abhängigkeit zwischen „Benutzer“ und „Beitrag“ entstehen. Sie können jedoch alle Inhalte aus dem Shared-Modul verwenden.

Also hier ist die Sache… Dem Modul „Artikel“ ist die Entität Article 实体,该实体与 User 实体相关。从 DDD 的角度来看,它是特定文章的创建者。将会有更多类似的模块与 User als Autor oder Eigentümer der Ressource zugeordnet.

Wie soll es umgesetzt werden? Sollte es auf „Geteilt“ verschoben werden? Leider konnten keine spezifischen Ressourcen gefunden werden. Github enthält hauptsächlich Projekte mit einer einzigen Aggregation und es gibt keine User-Entität.

P粉775788723
P粉775788723

Antworte allen(1)
P粉215292716

我一直在寻找解决此类问题的不同方法。你可以创建一个共享聚合,没有人可以说这是错误的。但是,我认为最好的解决方案是您创建一个 Person (或 People)聚合,其中您可以有一个与 ArticleEntity 相关的 PersonEntity (或 AuthorEntity),聚合之间的关系没有问题,但我建议您尝试仅在聚合之间创建关系根。

这是 Eric Evans 蓝皮书的样本

请注意,Voyage 是 Aggregate Voyage 中的 AggregateRoot,它与 Location 聚合的 AggregateRoot Location 存在关系。

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage