Raccomandato, 2024

Scelta Del Redattore

Differenza tra aggregazione e composizione

Aggregazione e composizione sono i tipi di associazione. La differenza principale tra aggregazione e composizione è quell'aggregazione implicita in una relazione in cui il bambino può esistere indipendentemente dal genitore. D'altra parte, la composizione insinua una relazione in cui il bambino non può esistere indipendentemente dal genitore.

La programmazione orientata agli oggetti è un paradigma comune utilizzato nello sviluppo del software. L'oggetto è un'istanza di una classe creata dalle classi. Gli oggetti collaborano tra loro attraverso i collegamenti. I collegamenti sono la connessione fisica e concettuale esistente tra gli oggetti. Una raccolta di collegamenti con struttura e semantica simili è descritta come un'associazione .

Grafico comparativo

Base per il confrontoAggregazioneComposizione
Di baseNell'aggregazione esiste una relazione in cui un bambino può esistere indipendentemente dal genitore.Nella composizione il non può esistere indipendentemente dal genitore.
Tipo di relazione"ha un""parte di"
Tipo di associazioneAssociazione deboleForte associazione
Simbolo del design UMLRappresentato da un diamante cavo accanto alla classe di assemblaggio.Rappresentato da un diamante solido accanto alla classe di assemblaggio.
FunzioneLa cancellazione dell'assemblaggio non influisce sulle sue parti.Se l'oggetto classe proprietario viene eliminato, potrebbe influire in modo significativo sull'oggetto classe contenente.

Definizione di aggregazione

L'aggregazione può essere definita come una relazione con una classe di assemblaggio alla classe costituente. La relazione tra due oggetti può essere rappresentata disegnando un segmento di linea in UML (Unified Modeling Language).

L'aggregazione viene anche utilizzata per specificare la molteplicità di oggetti come uno a uno, uno a molti e molti a molti. Quando un oggetto di classe X è associato a un singolo oggetto di classe Y, in quel caso esiste una relazione uno a uno. Allo stesso modo, se un singolo oggetto di una classe è associato a più oggetti di una classe, questa relazione viene indicata come uno-a-molti.

Ad esempio, un'auto è composta da ruote, motore, cambio, sterzo, corpo principale, ecc. Una macchina è un assemblaggio e le altre parti sono i suoi componenti. L'automobile alle ruote è un'aggregazione, l'auto per i motori è un'altra aggregazione e così via. Ogni singolo accoppiamento è definito per specificare la molteplicità di ciascuna parte costituente all'interno dell'assieme, in quanto il numero di oggetti può anche essere rappresentato.

L'aggregazione è un tipo di associazione che descrive un tipo di relazione "ha" tra gli oggetti. Per esempio, un'auto "ha un" cambio e un'auto "ha un" motore " . Per la relazione uno-a-molti, un esempio è un'auto "ha" molte ruote .

Definizione di Composizione

La composizione è anche un tipo di associazione ma una forma più restrittiva. È rappresentato in UML da un piccolo diamante solido adiacente alla classe di assemblaggio.

In questo tipo di associazione, la parte costituente può essere collegata al massimo a un assembly. Inoltre, quando una parte costitutiva collabora con l'assembly, avrà la vita concorrente con l'assembly.

Pertanto, la composizione indica la proprietà della parte costituente del tutto. Questo alla fine aumenterebbe la convenienza per la programmazione. La composizione può attivare la cancellazione dell'oggetto costitutivo mediante la cancellazione di un oggetto assembly.

La composizione descrive una relazione "parte di" . Ad esempio, una foglia è una parte di un albero, se l'albero è distrutto, allora le foglie devono essere distrutte.

Differenze chiave tra aggregazione e composizione

  1. Aggregazione indica una relazione in cui le entità figlio e genitore possono esistere indipendentemente. Come contro, nella composizione, l'entità figlio dipende dal genitore.
  2. Nell'aggregazione esiste una relazione "ha a" mentre nella composizione esiste una relazione "parte di" tra gli oggetti della classe costituente e dell'assieme.
  3. L'aggregazione è un'associazione debole, mentre la composizione è un'associazione forte perché ha più vincoli.
  4. Nel design UML l'aggregazione è descritta da un diamante cavo. Al contrario, la composizione è raffigurata da un diamante solido.

Conclusione

In aggregazione, le parti costitutive hanno l'esistenza indipendente e possono essere condivise o riassegnate agli aggregati o al loro assemblaggio. D'altra parte, nella composizione, la parte costituente appartiene esattamente a un assemblaggio o aggregato. Inoltre, la parte viene creata quando si forma l'aggregato e la parte viene distrutta quando l'aggregato viene distrutto.

Top