J'ai un modèle de domaine qu'est le concept d'un Éditeur et d'un Projet.
Un Éditeur est propriétaire d'un certain nombre de Projets, et un Projet n'a pas seulement un Éditeur propriétaire, mais aussi un certain nombre de membres de l'Éditeur. Par conséquent, un Éditeur a également un certain nombre de "rejoint" les Projets.
Je prends un DDD approche pour la modélisation de cette et en utilisant le modèle de Référentiel pour la persistance. Cependant, je ne connaît pas le motif assez bien encore à déterminer comment je dois faire.
Je suis en train de travailler sur l'hypothèse que l'Éditeur et le Projet sont potentiellement dans le même ensemble, avec la racine en cours de l'Éditeur. Je peux donc obtenir un Éditeur et puis énumérer ses Projets, et pourrait à partir de là énumérer les Projets de " membre des Éditeurs.
Cependant, si je suis seulement permis de récupérer des Éditeurs de mon référentiel, n'est-ce pas ce que j'ai à charge de tous les Projets à partir du référentiel quand je reçois l'Éditeur qui détient les droits? Et si je veux un chargement différé des membres des Éditeurs, le Projet a besoin d'une référence au référentiel?
Sinon, si je divise la somme et avoir un Éditeur de référentiel et d'un dépôt de Projet, comment dois-je gérer une transaction entre les deux, comme quand un nouveau Projet est ajouté à un Éditeur? Par exemple:
Editor e = new Editor("Editor Name");
editorRepository.Add(e);
Project p = e.CreateProject("Project Name");
projectRepository.Add(p); // These two lines
editorRepository.Save(e); // should be atomic
Suis-je une mauvaise interprétation de l'intention du modèle de Référentiel?