Ce este Compoziția?
Compoziția este un caz special de agregare care vă ajută să specificați o relație între o parte între clasa de compoziție și o clasă subordonată (parțială).
Ce este agregarea?
Agregarea este un caz special de asociere atunci când un obiect „are-un” alt obiect, pe care îl puteți avea o agregare între ele. Direcția dintre ele vă ajută să specificați care obiect conține celălalt obiect. Agregarea este, de asemenea, cunoscută sub numele de relație „Are-a”. Este un subtip al unei relații de asociere în UML.
DIFERENȚE CHEIE
- Agregarea este un tip de asociere între două obiecte care descriu relația „au o”, în timp ce Compoziția este un tip specific de Agregare care implică proprietatea.
- Agregarea este indicată folosind o linie dreaptă cu un vârf de săgeată gol la un capăt. Pe de altă parte, compoziția este indicată folosind o linie dreaptă cu o vârf de săgeată umplută la oricare dintre capete.
- Într-o relație de agregare, obiectele care sunt asociate unul cu celălalt pot rămâne în sfera unui sistem unul fără celălalt. Dar într-o relație de compoziție, obiectele care sunt asociate unele cu altele nu pot rămâne în domeniul de aplicare unul fără celălalt.
- În agregare, obiectele legate nu depind de celălalt obiect, în timp ce în compoziție, obiectele sunt foarte dependente unele de altele.
- În agregare, ștergerea unui singur element nu afectează un alt element asociat. Dimpotrivă, în compoziție, ștergerea unui singur element afectează un alt element asociat.
- Agregarea este notată cu un diamant umplut în timp ce compoziția este notată cu un diamant gol.
Statistici cheie
Agregare | Compoziţie | |
Proprietar | Niciun proprietar | Singur proprietar |
Durata de viață | Au viața lor. | Viața proprietarului. |
Obiectul copilului | Obiectele pentru copii sunt independente. | Obiectele copil aparțin unui singur părinte. |
Exemplu de compoziție
Dosarul poate conține mai multe fișiere, în timp ce fiecare fișier are exact un folder părinte. Dacă un folder este șters, toate fișierele conținute sunt eliminate și ele. Într-o agregare compusă, un obiect poate face parte dintr-un singur compozit la un moment dat.
Exemplu de agregare
De exemplu, mașina dvs. este formată din roți, motor, cutie de viteze, direcție și corpul principal etc. Este un ansamblu, iar celelalte părți sunt elementele sale.
Aici, mașina la roată este o agregare, mașina la motor este o altă agregare, mașina la cutia de viteze, și așa mai departe.
Acest tip de împerechere vă ajută să definiți multiplicitatea părții constitutive din cadrul ansamblului ca rezultat al acestuia. Numărul de obiecte poate fi, de asemenea, reprezentat.
O mașină are nevoie de o roată pentru a funcționa corect. Cu toate acestea, nu putem spune același lucru cu o mașină. Aceeași logică poate fi aplicată bicicletei, bicicletelor sau oricărui alt vehicul, dar nu unei anumite mașini.
Aici, obiectul roții este semnificativ chiar și fără obiectul mașinii. Este cunoscută sub numele de relație de agregare.
Diferența dintre agregare și compoziție
Iată diferența principală dintre agregare și compoziție:
Agregare | Compoziţie |
Agregarea este un tip de asociere între două obiecte care descrie și relația „are o”. | Compoziția este un tip specific de agregare care implică proprietatea. |
Agregarea este indicată folosind o linie dreaptă cu un vârf de săgeată gol la un capăt. | Compoziția este indicată folosind o linie dreaptă cu o vârf de săgeată umplută la oricare dintre capete. |
Agregarea face parte dintr-o relație de asociere. | Compoziția face parte dintr-o relație de asociere. |
Agregarea este considerată ca un tip slab de asociere. | Compoziția este considerată ca un tip puternic de asociere. |
Într-o relație de agregare, obiectele care sunt asociate unul cu celălalt pot rămâne în sfera unui sistem unul fără celălalt. | Într-o relație de compoziție, obiectele care sunt asociate unele cu altele nu pot rămâne în domeniul de aplicare unul fără celălalt. |
În agregare, obiectele legate nu depind de celălalt obiect. | În compoziție, obiectele sunt foarte dependente unele de altele. |
În agregare, ștergerea unui singur element nu afectează un alt element asociat. | În compoziție, ștergerea unui singur element afectează un alt element asociat. |
Exemplu: O mașină are nevoie de o roată, dar nu necesită întotdeauna aceeași roată. O mașină poate funcționa adecvat și cu o altă roată. | Exemplu: Un fișier este plasat în dosar. Dacă se șterge folderul, atunci fișierul asociat cu acel folder dat este șters. |
În agregare, relația părinte cu entitatea copil. | În compoziție, entitatea mamă deține entitatea copil. |
Este notat cu un diamant umplut | Este notat cu un diamant gol |
Copilul nu are o viață. | Copilul poate avea o viață întreagă. |
Este reprezentat de un diamant gol lângă clasa de asamblare. | Este reprezentat de un diamant solid lângă clasa de asamblare. |
Ștergerea ansamblului nu afectează niciodată părțile sale. | În cazul deținerii unei clase, obiectul este șters. De asemenea, afectează obiectul de clasă care conține. |