Heim  >  Fragen und Antworten  >  Hauptteil

Verwalten von „Benutzer“-Entitäten zwischen Aggregaten in DDD

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粉775788723P粉775788723171 Tage vor335

Antworte allen(1)Ich werde antworten

  • P粉215292716

    P粉2152927162024-04-05 09:05:19

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

    这是 Eric Evans 蓝皮书的样本

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

    Antwort
    0
  • StornierenAntwort