Si, par exemple, j'ai les conditions suivantes: 1. chien est un animal 2. Zoo a des animaux (s) Ai-je besoin encore le 2e connecteur de diamant (le inférieur) comme indiqué ici: Est-ce que la classe Derived a besoin d'un lien diamant?
Répondre
Le 2ème connecteur diamant est redondant. Voici quelques conseils sur le style des diagrammes de classes UML:
Le 2ème connecteur en diamant suggère que, en plus des animaux, le Zoo a aussi spécifiquement des chiens.
Salut avant d'aborder UML utiliser votre bon sens :)
Voulez-vous modèle zoo ont des animaux de différentes espèces? Ensuite, vous devez non seulement mettre des chiens, mais aussi des chats et tous les autres animaux qui peuvent exister dans ce type de zoo (classe) et utiliser un seul connecteur de diamant.
N'utilisez pas de connecteur en diamant blanc. Utilisez soit "composition" ou "association". Dans votre cas, utilisez "association". L'auteur de "UML distillé" a la suite comments.
La seconde agrégation n'est pas nécessaire. Cependant, vous pouvez modifier votre modèle de la façon suivante:
(1) Définissez le premier rôle d'agrégation (du côté Animal) "animaux".
(2) Supprimer la deuxième agrégation.
(3) Créer une autre classe DogZoo, généraliser à partir de Zoo.
(4) Dessiner une agrégation de DogZoo Dog, avec le rôle cible "les chiens {}" animaux redéfinissent
Hope that helps.