Domanda tra aggregazioni, composizioni, riferimenti (freccia) e relazioni semplici (niente) all'interno di UML2?

3

Ho qualche domanda riguardante le relazioni tra aggregazioni, composizioni, riferimenti (freccia) e relazioni semplici (niente) all'interno di UML2?

  1. Se A - > B - > C ciascuno ha una relazione di composizione. La radice è responsabile della creazione e distruzione dell'oggetto B e C?

  2. Quali aggregazioni hanno che il link o i riferimenti semplici no? Cosa li rende diversi?

Grazie.

Modifica: la domanda era un po 'poco chiara e non obiettiva. L'ho modificato.

    
posta Rushino 11.02.2011 - 03:01
fonte

2 risposte

1

L'aggregazione e la composizione hanno entrambi una relazione "Ha una" e non vi è alcuna differenza nella vista di codifica. La differenza tra loro è che l'aggregazione ha un rapporto più libero e non implica una proprietà. Ad esempio, l'università è composta da dipartimenti, ma i dipartimenti hanno un numero di professori (di aggregazione). Se l'università è chiusa, anche tutti i componenti compositivi sono chiusi. Tuttavia, se un dipartimento è chiuso, i professori continuano a vivere e possono trovare un altro lavoro.

Le associazioni possono essere indirizzate (reference-arrow) o non dirette (link semplice - niente) e rappresentano la capacità di un'istanza di utilizzare altre strutture istanze come variabili e funzioni. Associazioni orientate implica solo quali usi quali.

    
risposta data 11.02.2011 - 13:00
fonte
1

If A -> B -> C each have composition relationship. Are the root responsable of creation and destruction of the object B and C ?

È pratica comune, per A controllare la vita di B, e per B controllare la vita di C. In questo modo non c'è alcuna relazione tra A e C che è meglio disaccoppiamento . (AGGIORNAMENTO: o come ha detto Korhan, la durata di eg B dipende da A, una classe esterna potrebbe anche gestire la gestione a vita. L'essenza è, se il contenitore viene distrutto, normalmente ogni istanza che contiene anche distrutto.)

Questo è il caso di composizione .

What aggregations have that the simple link or references doesn't ? What make them different ?

Aggregazione è più specifico dell'associazione . L'aggregazione rappresenta una relazione parziale o parziale. Se il contenitore viene distrutto, il suo contenuto non lo è, questa è la principale differenza con la composizione. I contenuti sono probabilmente anche usati al di fuori del contenitore.

Un'associazione non ha una relazione 'ha una' diretta. È piuttosto una relazione "usa un". Questo può accadere ad esempio quando A ha bisogno di essere a conoscenza di C per qualche ragione. (prova ad impedirlo!) Quindi c'è un'associazione da A a C. Uno scenario più comune è quando una determinata funzione accetta un determinato tipo come input, ma non lo memorizza internamente. O quando viene chiamata una classe helper.

    
risposta data 11.02.2011 - 14:00
fonte

Leggi altre domande sui tag