Differenza tra aggregazione e composizione in UML
Differenza chiave tra aggregazione e composizione
- L'aggregazione è un tipo di associazione tra due oggetti che descrive la relazione "hanno a", mentre la composizione è un tipo specifico di aggregazione che implica la proprietà.
- L'aggregazione è indicata utilizzando una linea retta con una freccia vuota a un'estremità. D'altra parte, la composizione è indicata utilizzando una linea retta con una freccia piena ad una qualsiasi delle estremità.
- In una relazione di aggregazione, gli oggetti associati tra loro possono rimanere nell'ambito di un sistema senza gli altri. Ma in una relazione di composizione, gli oggetti associati tra loro non possono rimanere nell'ambito l'uno senza l'altro.
- Nell'aggregazione, gli oggetti collegati non dipendono dall'altro oggetto, mentre nella composizione gli oggetti dipendono fortemente l'uno dall'altro.
- In Aggregazione, l'eliminazione di un singolo elemento non influisce su un altro elemento associato. Nella composizione, invece, l'eliminazione di un singolo elemento incide su un altro elemento associato.
- L'aggregazione è denotata da un diamante pieno, mentre un diamante vuoto denota la composizione.
Cos'è l'aggregazione?
L'aggregazione è un caso speciale di associazione quando un oggetto "ha un" altro oggetto, tra i quali è possibile avere un'aggregazione. La direzione tra loro ti aiuta a specificare quale oggetto contiene l'altro oggetto. L'aggregazione è anche nota come relazione “Has-a”. È un sottotipo di una relazione associativa in UML.
Cos'è la composizione?
La composizione è un caso speciale di aggregazione che consente di specificare una relazione di parte intera tra la classe di composizione e una classe subordinata (di parte).
Differenza tra aggregazione e composizione in UML
Ecco la differenza principale tra Aggregazione e Composizione:
Aggregazione | Composizione |
---|---|
L'aggregazione è un tipo di associazione tra due oggetti che descrive anche la relazione "avere". | La composizione è un tipo specifico di aggregazione che implica la proprietà. |
L'aggregazione è indicata utilizzando una linea retta con una freccia vuota a un'estremità. | La composizione è indicata utilizzando una linea retta con una freccia piena a una qualsiasi delle estremità. |
L'aggregazione è una parte di una relazione di associazione. | La composizione è parte di un rapporto associativo. |
L'aggregazione è considerata un tipo di associazione debole. | La composizione è considerata un tipo di associazione forte. |
In una relazione di aggregazione, gli oggetti associati tra loro possono rimanere nell'ambito di un sistema senza gli altri. | In una relazione di composizione, gli oggetti associati tra loro non possono rimanere nell'ambito l'uno senza l'altro. |
In Aggregazione, gli oggetti collegati non dipendono dall'altro oggetto. | Nella composizione, gli oggetti dipendono fortemente l'uno dall'altro. |
In Aggregazione, l'eliminazione di un singolo elemento non influisce su un altro elemento associato. | Nella composizione, l'eliminazione di un singolo elemento influisce su un altro elemento associato. |
Esempio: un'auto ha bisogno di una ruota, ma non sempre ha bisogno della stessa ruota. Un'auto può funzionare adeguatamente anche con un'altra ruota. | Esempio: un file viene inserito nella cartella. Se si elimina la cartella, viene eliminato anche il file associato a quella determinata cartella. |
In Aggregazione, genitore relazione con l'entità figlio. |
Nella composizione, l'entità madre possiede l'entità figlio. |
È indicato da un diamante pieno | È indicato da un diamante vuoto |
Il bambino non ha una vita. | Il bambino può avere tutta la vita. |
È rappresentato da un diamante cavo accanto alla classe dell'assemblea. | È rappresentato da un diamante solido accanto alla classe dell'assemblaggio. |
L'eliminazione dell'assieme non influisce mai sulle sue parti. | Nel caso di proprietà di una classe, l'oggetto viene eliminato. Colpisce anche l'oggetto della classe che lo contiene. |
Aggregazione vs composizione: statistiche chiave
Aggregazione | Composizione | |
---|---|---|
Proprietario | Nessun proprietario | Unico proprietario |
Per sempre. | Avere la loro vita. | La vita del proprietario. |
Oggetto figlio | Gli oggetti figlio sono tutti indipendenti. | Gli oggetti figlio appartengono a un singolo genitore. |
Esempio di composizione
La cartella può contenere molti file, mentre ogni file ha esattamente una cartella genitore. Se una cartella viene eliminata, verranno rimossi anche tutti i file in essa contenuti. In un'aggregazione composita, un oggetto può far parte di un solo composito alla volta.
Esempio di aggregazione
Ad esempio, la tua auto è composta da ruote, motore, cambio, sterzo, carrozzeria principale, ecc. È un assieme e le altre parti sono i suoi costituenti.
Qui, l'auto alla ruota è un'aggregazione, l'auto al motore è un'altra aggregazione, l'auto al cambio un'altra ancora, e così via.
Questo tipo di abbinamento aiuta a definire come risultato la molteplicità della parte costitutiva all'interno dell'assieme. È anche possibile rappresentare il numero di oggetti.
Un'auto ha bisogno di una ruota per funzionare correttamente. Tuttavia, non possiamo dire lo stesso con un’auto. La stessa logica può essere applicata alla bicicletta, alla bicicletta o a qualsiasi altro veicolo ma non a un'auto in particolare.
In questo caso l'oggetto ruota ha senso anche senza l'oggetto automobile. È nota come relazione di aggregazione.