2013-02-28 17 views
42

Considera i seguenti due diagrammi. Quello superiore contiene una semplice freccia all'estremità destra, e quella in basso contiene una freccia con un diamante all'estremità sinistra e una freccia semplice all'estremità destra. Il great book GoF ha usi di entrambi questi due tipi di diagrammi.Che cosa significa un segno di diamante nei diagrammi delle classi UML?

voglio capire che cosa fa il diamante significare nel secondo caso, e che uno di questi due dà una forte associazione tra Customer e Order.

La classe Customer è responsabile del ciclo di vita della classe Order in uno dei due casi?

enter image description here enter image description here

risposta

62

Se non c'è diamante, allora abbiamo una semplice associazione.

Se il rombo è vuoto, significa che è un'aggregazione. Questa relazione è più forte di una semplice associazione. In questo caso un cliente aggrega gli ordini.

Se il diamante è nero, significa che si tratta di una composizione, che è persino più forte di un'aggregazione perché la classe aggregata non può essere aggregata da altre classi. La sua "vita" dipende dal contenitore.

Penso che sia spiegato un po 'più chiaramente, a:

+2

+1 e collegamento piacevole –

5

significa aggregazione. Da wikipedia:

In UML, è rappresentata graficamente come una forma di diamante cava sulla finale contenente classe di albero con una singola linea che collega la classe contenuta al contenente class.The aggregato è semanticamente un oggetto esteso che viene trattato come un'unità in molte operazioni , sebbene sia fisicamente composto da diversi oggetti minori.

http://en.wikipedia.org/wiki/Class_diagram

8

Il cliente e l'ordine è un "ha -una "relazione di composizione perché se il cliente cessa di esistere lo fa anche il suo ordine. Pertanto, esiste una dipendenza dal ciclo di vita tra il contenitore (cliente) e le istanze all'interno del contenitore (ordine). Quando il contenitore cessa di esistere, lo fanno tutte le sue istanze.

D'altra parte, se diciamo che un cliente ha un libro. In questo caso, abbiamo una relazione di aggregazione "ha-a". Perché se il cliente cessa di esistere, il libro è ancora disponibile.

Problemi correlati