Question

Est-il correct d'obtenir une collection en lecture seule d'un agrégat sans passer par la racine pour l'obtenir? Mon modèle fait partie de ce moment et je me demandais si c'est une conception acceptable. Merci

Edit:

Voici un exemple

J'ai une entité racine globale appelée UserAccount et une autre racine globale appelée VideoStore. Les utilisateurs peuvent avoir plusieurs magasins, ils sont en dehors des magasins et vidéo peuvent avoir de nombreux utilisateurs. Un très basique beaucoup à beaucoup, mais ce n'est pas parce que la table many-to-many pont contient des informations d'état il doit être une entité aussi bien. Donc, j'ai une entité appelée pont UserVideoStores et son enfant de la VideStore racine globale (un à plusieurs).

Maintenant, quand un utilisateur se connecte dans je veux rechercher qui vidéothèques ils sont séparés de et afficher cette information à leur disposition. Je peux facilement le faire en faisant l'entité UserAccount une référence directe (un à plusieurs) à l'enfant, UserVideoStores, des vidéothèques racine total. Il semble plus facile de le faire ensuite utiliser une requête HQL et recherche à partir du bas du graphique jusqu'à trouver qui stocke l'utilisateur est en dehors de.

Est-ce logique?

Edit:

Eh bien, je suis venu avec une solution pour faire mon propre modèle. Je ne pensais pas directement sur certains de mes dessins et j'ai appris à utiliser NHibernate un peu mieux pour me aider à trouver une solution. Merci

Était-ce utile?

La solution

Evans dit: « La racine est le seul membre de la somme qui sont autorisés en dehors des objets de contenir des références à ... » (p. 127)

Ma compréhension est que l'ensemble doit apparaître comme une unité à des objets extérieurs. En outre, le loi de Déméter semble appliquer. En bout de ligne, je ne pense pas que ce soit acceptable.

Autres conseils

En fait, Eric a changé d'avis sur la rigueur des règles racines en agrégats.
Récemment, il a dit quelque chose le long des lignes de

"Chill out mec. Essayez de vous empêcher de briser l'homme des règles. Mais, bon, ne vous culpabilisez pas dessus. DDD roches mec, mais briser les règles Agg si ya vraiment besoin. Oui, la paix. «

Voir:  « Eric Evans: Ce que j'ai appris DDD depuis le livre » http://dddcommunity.org/library/evans_2009_1

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top