2009-07-27 5 views
3

Les structures de tables plusieurs-à-plusieurs sont-elles définies en tant qu'objets de valeur dans DDD? Que faire si ma structure many-to-many a un identifiant unique? En outre, qu'en est-il des relations un-à-plusieurs? Par exemple, si j'ai 2 structures Post & Commentaire avec 1-à-plusieurs (respectivement) ne serait pas un objet de valeur car il ne peut techniquement pas exister sans un poste correspondant? Mais que faire si il a un Id unique (Comment_Id)? Cela le rend identifiable et donc une entité objet non-valeur? Alors, c'est quoi?Définition de relations plusieurs-à-plusieurs dans DDD

Merci!

+0

Ma suggestion est de lire quelque chose sur DDD (Appliquer DDD). Voir aussi des exemples (http://www.domaindrivendesign.org/examples). –

Répondre

1

Vous n'avez probablement pas besoin de DDD pour le blog. DDD est plus sur la logique métier. Vous n'aurez pas assez de logique métier pour bénéficier de DDD.

Si vous voulez toujours utiliser DDD, ce n'est pas un problème. Quelques lignes directrices:

  1. Si vous souhaitez que quelque chose soit référenable en dehors de la logique métier, il doit s'agir d'entité. Donc, si vous avez besoin de références aux commentaires (sinon vous ne serez pas en mesure de les gérer efficacement), vous avez besoin de vos commentaires pour être une entité.
  2. Vous devez maximiser l'ignorance de la persistance. Cela signifie que vous ne pouvez pas exposer les identifiants à votre logique métier.
  3. Les relations plusieurs-à-plusieurs et un-à-plusieurs sont modélisées avec des collections simples. L'outil ORM doit mapper correctement ces collections.

Espérons que cela aide à éviter DDD dans votre situation.

+0

Je ne suis pas en train de créer un blog. L'exemple que j'ai donné était juste quelque chose que je pensais que beaucoup connaissent, et qui montre le même problème que j'ai avec mon modèle. –

+0

Vous ne demandez pas simplement la direction. Vous demandez quelle direction avec des avions. Et ma réponse est de ne pas utiliser d'avion, car pour un demi-mille ce sera une solution moins qu'optimale. L'objectif de ma réponse est-il clair? –

+0

@unknown (google), comment éditez-vous vos commentaires? –