2010-06-10 5 views
3

Supposons que je souhaite modéliser un cinéma. Le cinéma aura quelques pièces (par exemple, 7), où les films sont joués.Utilisation de collections/conteneurs/catalogues dans les modèles de domaine

Je me demande comment devrais-je concevoir le modèle de domaine pour ce scénario.

Pourquoi? J'ai quelques difficultés à comprendre pourquoi dans certains endroits je vois le premier cas et dans d'autres je vois quelque chose comme le second cas.

Si au lieu de chambres, je voulais dépeindre la relation entre le cinéma et:

  1. billets à vendre (aujourd'hui).
  2. billets déjà vendus (aujourd'hui)
  3. clients dans la base de données Cinema
  4. L'ensemble des heures au cours de laquelle il y a des films qui jouent dans une pièce donnée au cinéma.
  5. L'ensemble des endroits où vous pouvez vous asseoir dans une salle au cinéma.

Devrais-je utiliser des catalogues, dois-je les connecter directement au concept Cinema avec une multiplicité de * dans la cible?

Merci

Répondre

3

Quel est le rôle de Room Catalog?

Possède-t-il d'autres attributs/opérations ou agit-il uniquement comme conteneur pour les pièces?

Est-il possible de créer plusieurs catalogues de pièces associés à la durée de vie des instances Cinema et sur celle-ci? Le type de son du catalogue de pièces ressemble plus à quelque chose que vous verriez dans une couche de service et non dans un modèle de domaine.

Si cela ne contribue pas structurellement ou comportementalement, alors je l'écraserais probablement et irais avec une simple association.

+0

"Pouvez-vous créer plusieurs catalogues de pièces associés à et au-delà de la durée de vie des instances de Cinema?" AH! C'est un bon point à penser. Je ne pense pas que dans ce cas j'aurai plusieurs catalogues de pièces. –

+1

exactement la réponse que j'allais écrire –

+0

Également, pourriez-vous nous en dire un peu plus sur le «genre de sons de Room Catalog pour ressembler davantage à quelque chose que vous verriez dans une couche de service et non dans un modèle de domaine». un niveau de service? –

0

Il n'y a pas une conception correcte ou mauvaise conception dans l'industrie du développement logiciel. Vous pouvez utiliser la première ou la deuxième méthode (c'est-à-dire que vous pouvez utiliser l'un ou l'autre des catalogues ou les connecter directement au Cinéma). Mais surtout, vous devriez être en mesure de justifier votre conception.

+0

Je suis d'accord avec Upul. J'ajouterais que vous finirez par développer une intuition sur ce que vous préférez. Mon $ 0.02 serait d'utiliser le premier. –

Questions connexes