2013-03-15 5 views
0

Dans les diagrammes de classes UML, on m'a dit que nous ne devrions pas avoir de classes autonomes mais qu'elles devraient toutes être connectées d'une manière ou d'une autre. En théorie, cela est logique et avec des classes simples, vous .. prendre ce qui suit par exemple:Associations de diagrammes de classes UML

enter image description here

Ainsi, un Person peut avoir 0 ou plusieurs Car ... juste assez .. mais maintenant prendre la exemple suivant:

enter image description here

le Person et PersonRepository ne sont pas vraiment connectés en ce sens qu'un Person peut appartenir à un PersonRepository ou qu'un PersonRepository a une Person. Ils sont associés en ce que le PersonRepository retournera un Person pour le ID donné cependant. Alors, est-il correct d'ajouter une ligne d'association entre eux et si oui, dans quel sens devrait-elle pointer? Je reçois des informations contradictoires sur cette situation. J'apprécierais toute clarification donnée à ce sujet.

Répondre

0

Généralement, lorsque des instances d'une classe appartiennent à instances d'une autre classe, il s'agit d'une relation d'agrégation ou de composition (qui sont des types d'association spéciaux).

Si vous pouvez obtenir un Person à partir d'un PersonRepository c'est une association. Notez qu'un référentiel peut avoir plus d'un Person, il doit donc être 1..n à l'extrémité Person.

Une flèche sur l'extrémité de l'association indique que cette extrémité est navigable: vous pouvez passer des instances de la classe à l'autre extrémité, aux instances de la classe à la fin avec une flèche. Dans votre exemple, vous pouvez passer des instances de Person au PersonRepository (par exemple: person.getRepository()) mais vous ne pouvez pas obtenir d'instances de Person à partir du PersonRepository. La flèche doit être à l'autre extrémité.

 1..n  1 
Person <----------- PersonRepository 
+0

Cela semble raisonnable. Je vous remercie. – Matt