Comment modélisons-nous les relations classiques plusieurs-à-plusieurs avec CQRS/DDD?Alternatives aux relations plusieurs-à-plusieurs avec CQRS
Je sais que les implémentations DDD et CQRS et les solutions ont tendance à être spécifiques à un domaine, il peut donc être difficile de trouver une réponse générale à cette question.
Cependant, supposons que nous ayons la relation familière entre Book et Auteur. C'est une relation plusieurs-à-plusieurs classique.
Pour moi, il semble plus naturel que Livre et Auteur sont deux entités différentes que chacun appartiennent à leur agrégat racine. Ainsi, la modélisation explicite de la relation plusieurs-à-plusieurs n'est pas la solution.
Comment modélisons-nous un AddBookCommand? Nous voulons être en mesure d'ajouter un livre à notre bibliothèque, et aussi en quelque sorte indiquer qu'un Auteur a écrit ce livre. Comment modélisons-nous (et persistons-nous) une telle relation?
Ni Livre ni Auteur semblent comme de bons candidats pour Value Objets ...
Merci, c'est vraiment une excellente réponse! J'ai lu une grande partie de la littérature d'introduction CQRS, mais j'ai seulement commencé récemment et encore besoin d'entrer dans l'état d'esprit :) –
Juste pour ajouter à l'excellente réponse de Yves, si vous regardez plus le comportement alors vous pouvez trouver un ou les deux (ou aucun) des agrégats de livres et d'auteurs sont en réalité des objets de valeur. Une fois que j'ai commencé à penser comme ça, j'ai découvert que beaucoup d'objets que j'avais auparavant considérés comme des entités étaient mieux modélisés comme des objets de valeur et donc beaucoup plus simples. Tout dépend du contexte bien sûr ... – FinnNk
Pourriez-vous s'il vous plaît renouveler le lien si disponible? Je suppose que c'est un exemple de code de votre description. – ibubi