2009-03-13 14 views
0

J'ai deux classes, mais je ne sais pas quel genre de relation je devrais utiliser. J'ai un document de classe avec beaucoup de propriétés et pas de méthodes. La deuxième classe est ce que j'ai appelé le DocumentFact (Fact - Factory). Cette classe contient différentes méthodes qui retournent une collection d'objets Document. Par conséquent, la classe Document ne connaît rien à la classe DocumentFact car elle n'a rien à voir avec elle. D'un autre côté, DocumentFact crée plusieurs objets Document. Quel genre de relation UML est-ce? Je pensais quelque chose comme ceci:UML Diagramme de classes Type de relation

--------------   ------------ 
|DocumentFact| -------> | Document | 
--------------  2.* ------------ 

Ou:

--------------   ------------ 
|DocumentFact| ------- []| Document |   // Composition 
--------------   ------------ 

Que pensez-vous?

Répondre

1

Je suis d'accord avec boîte à outils qui factories-> produit est une instantie relation - le descripteur de multiplicité ne s'applique pas à moins que l'usine est également destiné à maintenir les références aux objets produits dans ce cas, il est 1: * ou 1: n (multiton) de toute façon

3

Juste mon avis - si DocumentFact est vraiment une usine, je passerais les trois touches supplémentaires et l'épeler. Vous forcez les utilisateurs de votre classe à déterminer si vous voulez dire "document factory" ou "fait sur un document" lorsqu'ils lisent le nom de la classe pour la première fois. L'incertitude est inutile, surtout si vous pouvez toucher le type. Je recommande de rendre le nom plus auto-documenté et moins ambigu.

+0

Hors sujet, mais un très bon conseil !!! – Yarik