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 (parte).
Cos'è l'aggregazione?
L'aggregazione è un caso speciale di associazione quando un oggetto "ha-un" un altro oggetto, che è possibile avere un'aggregazione tra di loro. La direzione tra di loro ti aiuta a specificare quale oggetto contiene l'altro oggetto. L'aggregazione è anche nota come relazione "Has-a". È un sottotipo di una relazione di associazione in UML.
PRINCIPALI DIFFERENZE
- L'aggregazione è un tipo di associazione tra due oggetti che descrive la relazione "avere una" mentre la composizione è un tipo specifico di aggregazione che implica la proprietà.
- L'aggregazione è indicata utilizzando una linea retta con una punta di freccia vuota a un'estremità. D'altra parte, la composizione è indicata utilizzando una linea retta con una punta di freccia piena a una qualsiasi delle estremità.
- In una relazione di aggregazione, gli oggetti associati tra loro possono rimanere nell'ambito di un sistema senza l'altro. Ma in una relazione di composizione, gli oggetti associati tra loro non possono rimanere nell'ambito di applicazione 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. Al contrario, in composizione, l'eliminazione di un singolo elemento influisce su un altro elemento associato.
- L'aggregazione è indicata da un diamante pieno mentre la composizione è indicata da un diamante vuoto.
Statistiche chiave
Aggregazione | Composizione | |
Proprietario | Nessun proprietario | Unico proprietario |
Tutta la vita | Hanno la loro vita. | A vita del proprietario. |
Oggetto figlio | Gli oggetti figlio sono tutti indipendenti. | Gli oggetti figlio appartengono a un unico genitore. |
Esempio di composizione
La cartella potrebbe contenere molti file, mentre ogni file ha esattamente una cartella principale. Se una cartella viene eliminata, vengono rimossi anche tutti i file contenuti. In un'aggregazione composta, un oggetto può far parte di un solo composto alla volta.
Esempio di aggregazione
Ad esempio, la tua auto è composta da ruote, motore, cambio, sterzo e corpo principale, ecc. È un insieme e le altre parti sono i suoi componenti.
Qui, dall'auto alla ruota è un'aggregazione, dall'auto al motore è un'altra aggregazione, dall'auto al cambio un'altra e così via.
Questo tipo di accoppiamento aiuta a definire la molteplicità della parte costituente all'interno dell'assieme come suo risultato. È 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 a bici, bicicletta o qualsiasi altro veicolo ma non a un'auto in particolare.
In questo caso, l'oggetto ruota è significativo anche senza l'oggetto automobile. È noto come relazione di aggregazione.
Differenza tra aggregazione e composizione
Ecco la principale differenza tra aggregazione e composizione:
Aggregazione | Composizione |
L'aggregazione è un tipo di associazione tra due oggetti che descrive anche la relazione "have a". | La composizione è un tipo specifico di aggregazione che implica la proprietà. |
L'aggregazione è indicata utilizzando una linea retta con una punta di freccia vuota a un'estremità. | La composizione è indicata utilizzando una linea retta con una punta di freccia piena a una qualsiasi delle estremità. |
L'aggregazione fa parte di una relazione di associazione. | La composizione fa parte di un rapporto di associazione. |
L'aggregazione è considerata un tipo debole di associazione. | La composizione è considerata un tipo forte di associazione. |
In una relazione di aggregazione, gli oggetti associati tra loro possono rimanere nell'ambito di un sistema senza l'altro. | In una relazione di composizione, gli oggetti associati tra loro non possono rimanere nell'ambito di applicazione l'uno senza l'altro. |
In Aggregation, 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 richiede la stessa ruota. Un'auto può funzionare adeguatamente anche con un'altra ruota. | Esempio: un file viene inserito all'interno della cartella. Se si elimina la cartella, viene eliminato anche il file associato a quella determinata cartella. |
In Aggregazione, relazione padre con l'entità figlio. | Nella composizione, l'entità padre possiede l'entità figlio. |
È indicato da un diamante pieno | È indicato da un diamante vuoto |
Il bambino non ha una vita. | Il bambino può avere una vita. |
È rappresentato da un diamante cavo accanto alla classe di assemblaggio. | È rappresentato da un diamante solido accanto alla classe di assemblaggio. |
La cancellazione dell'assieme non influisce mai sulle sue parti. | In caso di proprietà di una classe, l'oggetto viene eliminato. Colpisce anche l'oggetto della classe contenitore. |