Gestion des entités "utilisateur" entre agrégats dans DDD
P粉775788723
P粉775788723 2024-04-04 09:54:15
0
1
600

J'essaie de réécrire une application monolithique en une application monolithique modulaire utilisant DDD et une architecture hexagonale. Essayez d'abord d'extraire trois modules (agrégations) : "Partagé", "Utilisateur" et "Article".

D'après ce que j'ai bien compris, aucune dépendance ne doit être créée entre "user" et "post". Cependant, ils peuvent tous utiliser le contenu du module Partagé.

Alors voici le truc… Le module "Articles" est associé à l'entité Article 实体,该实体与 User 实体相关。从 DDD 的角度来看,它是特定文章的创建者。将会有更多类似的模块与 User en tant qu'auteur ou propriétaire de la ressource.

Comment doit-il être mis en œuvre ? Faut-il le déplacer vers Partagé ? Malheureusement, aucune ressource spécifique n'a pu être trouvée. Github contient principalement des projets avec une seule agrégation et il n'existe pas d'entité User.

P粉775788723
P粉775788723

répondre à tous(1)
P粉215292716

Je suis toujours à la recherche de différentes façons de résoudre des problèmes comme celui-ci. Vous pouvez créer un agrégat partagé et personne ne peut dire que c'est faux. Cependant, je pense que la meilleure solution est de créer un agrégat Person (ou People) dans lequel vous pouvez avoir une PersonEntity (ou AuthorEntity) liée à ArticleEntity. Il n'y a aucun problème avec la relation entre les agrégats, mais je vous suggère d'essayer de Créez uniquement des racines de relation entre les agrégats.

Ceci est un échantillon du Blue Book d'Eric Evans

Veuillez noter que Voyage est l'AggregateRoot dans Aggregate Voyage, qui a une relation avec l'AggregateRoot Location de l'agrégat Location.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal