Recomandat, 2024

Alegerea Editorului

Diferența dintre agregare și compoziție

Agregarea și compoziția sunt tipurile de asociere. Diferența principală dintre agregare și compoziție este că agregarea implică o relație în care copilul poate exista independent de părinte. Pe de altă parte, compoziția insinuă o relație în care copilul nu poate exista independent de părinte.

Obiectiv-orientate de programare este o paradigmă comună, care este utilizat în dezvoltarea de software. Obiectul este o instanță a unei clase care este creată de clase. Obiectele colaborează între ele prin intermediul Link-urilor. Legăturile sunt conexiunea fizică și conceptuală dintre obiecte. O colecție de link-uri cu structură și semantică similare este descrisă ca o asociere .

Diagramă de comparație

Bazele de comparațieAgregareCompoziţie
De bazăÎn agregare există o relație în care un copil poate exista independent de părinte.În compoziție, nu poate exista independent de părinte.
Tip de relație"are o""parte din"
Tipul de asociereAsociere slabăAsociere puternică
Simbol de design UMLReprezentată de un diamant gol lângă clasa de asamblare.Reprezentată de un diamant solid lângă clasa de asamblare.
FuncţieȘtergerea ansamblului nu afectează părțile sale.Dacă obiectul de clasă proprietară este șters, acesta ar putea afecta în mod semnificativ obiectul de clasă care conține.

Definiția Aggregation

Agregarea poate fi definită ca o relație cu o clasă de asamblare a clasei constituente. Relația dintre două obiecte poate fi reprezentată prin desenarea unui segment de linie în UML (Unified Modeling Language).

Agregarea este, de asemenea, utilizată pentru a specifica multiplicitatea obiectelor, cum ar fi unul la unul, unul la mulți și mulți la mulți. Atunci când un obiect din clasa X este asociat cu un singur obiect de clasa Y, în acest caz există o relație one-to-one. În mod similar, dacă un singur obiect al unei clase este asociat cu mai multe obiecte dintr-o clasă, atunci această relație este numită unul-la-multe.

De exemplu, o mașină este formată din roți, motor, cutie de viteze, direcție, corpul principal etc. O mașină este un ansamblu, iar celelalte părți componente ale acesteia. Masina pe roți este o agregare, mașina pentru motoare este o altă agregare și așa mai departe. Fiecare pereche individuală este definită pentru a specifica multiplicitatea fiecărei părți constitutive în cadrul ansamblului, ca rezultat, numărul de obiecte poate fi de asemenea descris.

Agregarea este un tip de asociere care descrie un tip de "are un" tip de relație între obiecte. De exemplu, o mașină "are o" cutie de viteze, iar o mașină "are un" motor . Pentru relația one-to-many, un exemplu este o mașină "are" multe roți .

Definiția compoziției

Compoziția este, de asemenea, un tip de asociere, dar o formă mai restrictivă. Este reprezentat în UML de un diamant solid mic adiacent clasei de asamblare.

În acest tip de asociere, componenta poate fi legată de cel mult un ansamblu. În plus, atunci când o componentă colaborează cu ansamblul, va avea durata de viață concomitentă cu asamblarea.

Astfel, compoziția înseamnă proprietatea părții constitutive a întregului. Acest lucru ar duce la creșterea confortului pentru programare. Compoziția poate declanșa ștergerea obiectului constitutiv prin ștergerea unui obiect de asamblare.

Compoziția descrie o relație "part of" . De exemplu, o frunză este o parte a unui copac, dacă arborele este distrus, atunci frunzele trebuie să fie distruse.

Diferențe cheie între agregare și compoziție

  1. Agregarea indică o relație în care un copil și entități-părinte pot exista independent. În raport cu compoziția, entitatea copilului depinde de părinte.
  2. În agregare există o relație "are a", în timp ce în compoziție există o relație "part of" între ansamblul și obiectele clasei constituente.
  3. Agregarea este o asociere slabă, în timp ce compoziția este o asociere puternică deoarece are mai multe constrângeri.
  4. În designul UML agregarea este descrisă de un diamant gol. În contrast, compoziția este ilustrată de un diamant solid.

Concluzie

În ansamblu, părțile constitutive au existența independentă și pot fi împărțite sau realocate la agregate sau la asamblarea lor. Pe de altă parte, în compoziție, componenta aparține exact unei singure adunări sau agregate. Mai mult, partea este creată atunci când agregatul este format și partea este distrusă când agregatul este distrus.

Top