2009-09-20 9 views
0

J'ai ces deux structures dans mon domaine: Exercice (avec sujets, solution, difficulté ext.) Et Sujet qui a un nom et un sujet père. Le sujet est défini par ses attributs, donc en ce sens c'est un objet valeur, Cependant, même si mon magasin de données actuel n'a rien associé à un sujet particulier, cette existence peut être pertinente pour le domaine, donc il peut exister sans rapport avec quoi que ce soit ... est-ce une entité?DDD Question de modélisation

Une autre question, disons que je veux tous les sujets existants qui ont un nom particulier est-il conseillé d'avoir un SubjectRepository (si seules les racines d'agrégats ont des dépôts associés)?

Répondre

1

J'ai vu un cas de DDD similaire concernant une classe d'adresse. Sur le plan domaine, les propriétés étaient la partie intéressante, pas l'identifiant. Toutefois, pour les réutiliser et les éditer, ils devaient être des «entités» sans ID/clé d'entreprise, mais uniquement un ID/clé primaire. Afin de faciliter la gestion dans l'interface graphique, l'adresse a été faite un «agrégat racines» avec un «référentiel».

Votre cas semble similaire.

0

Si vous devez changer de sujet et que vous avez besoin de le suivre, il doit s'agir d'une entité. Dans quel sens l'existence du sujet dans le domaine est-elle pertinente? Si vous ne pouvez pas insérer le sujet dans le domaine d'une manière sensée, cela peut être un service dont vous avez besoin.

À votre deuxième question; oui, il est sage de n'avoir que des dépôts pour les racines agrégées.

+0

Merci pour votre réponse. Comment encapsuler une requête pour récupérer tous les sujets existants qui ont un nom particulier? – gkdm

+0

Cela dépend de la façon dont vous allez utiliser les sujets de votre domaine. – Fossmo

+0

1. chercher des entités associées de types varius. 2. fournir une fonctionnalité complète automatique (comme les balises stackoverflow). 3. désir de charger un sujet associé à l'exercice. – gkdm