Domanda

Ho due classi, ma non quale tipo di relazione dovrei usare. Ho un documento di classe con molte proprietà e nessun metodo. La seconda classe è ciò che ho chiamato DocumentFact (Fact - Factory). Questa classe contiene diversi metodi che restituiscono una raccolta di oggetti Document.

Quindi, la classe Document non sa nulla della classe DocumentFact perché non ha nulla a che fare con essa. D'altra parte, DocumentFact crea più oggetti Document. Che tipo di relazione UML è questa? Stavo pensando a qualcosa del genere:

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

o

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

Cosa ne pensi?

Altri suggerimenti

Solo la mia opinione: se DocumentFact è davvero una fabbrica, spenderei i tre tasti in più e lo spiegherei. Obbliga gli utenti della tua classe a capire se intendi " document factory " o "fatto su un documento" quando leggono il nome della classe per la prima volta. L'incertezza non è necessaria, soprattutto se puoi toccare il tipo. Consiglierei di rendere il nome più autocompensante e meno ambiguo.

Sono d'accordo con il toolkit che le fabbriche- > prodotto è una relazione di istanze - il descrittore di molteplicità non si applica a meno che la fabbrica non abbia anche lo scopo di mantenere riferimenti agli oggetti del prodotto nel qual caso è un 1: * o 1: n (multitono) comunque

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top