Soovitatav, 2024

Toimetaja Valik

Koondumise ja koostise erinevus

Liitumine ja koosseis on assotsiatsiooni liik. Peamine erinevus agregatsiooni ja koostise vahel on see, et agregatsioon eeldab suhet, kus laps võib eksisteerida vanemast sõltumatult. Teisest küljest on kompositsioonis seos, kus laps ei saa vanemast sõltumatu olla.

Objektile orienteeritud programmeerimine on levinud paradigma, mida kasutatakse tarkvaraarenduses. Objektiks on klasside klass. Objektid teevad omavahel koostööd lingide kaudu. Viited on füüsiline ja kontseptuaalne ühendus objektide vahel. Sarnast struktuuri ja semantikat omavate linkide kogumit kirjeldatakse kui assotsiatsiooni .

Võrdluskaart

Võrdluse alusKoondamineKoostis
PõhilineKokkuvõttes eksponeeritakse suhe, kus laps võib olla vanemast sõltumatult olemas.Koostises ei saa eksisteerida vanematest sõltumatult.
Suhte tüüp"on""osa"
Assotsiatsiooni tüüpNõrk ühendusTugev ühendus
UML-i sümbolEsindatud õõnsate teemantidega kogumisklassi kõrval.Esindatud tahke teemant kogumisklassi kõrval.
FunktsioonMontaaži kustutamine ei mõjuta selle osi.Kui omanikuklassi objekt on kustutatud, võib see oluliselt mõjutada klassiobjekti.

Agregatsiooni määratlus

Agregeerimist võib defineerida kui seost kokkupanekuklassiga põhiklassi. Kahe objekti vahelist suhet saab esindada joonesegmendi joonistamisega UMLis (Unified Modeling Language).

Agregatsiooni kasutatakse ka selliste objektide hulga määramiseks nagu üks-ühele, üks-mitmele ja paljudele paljudele. Kui klassi X objekt on seotud Y-klassi ühe objektiga, siis sellisel juhul eksisteerib üks-ühele suhe. Samamoodi, kui klassi üksikobjekt on seotud mitme klassi objektiga, siis nimetatakse seda suhet mitmele.

Näiteks auto koosneb ratastest, mootorist, käigukastist, roolimisest, põhiosast jne. Auto on kokkupanek ja teised osad on selle osad. Auto ratastele on üks agregatsioon, auto mootoritele on veel üks agregatsioon ja nii edasi. Iga üksikpaaristamine on määratletud nii, et see määraks iga koostise osa mitmekesisuse, kuna tulemuseks võib olla ka objektide arv.

Agregatsioon on assotsiatsiooni tüüp, mis kirjeldab objektide vahelist “omab” tüüpi seost. Näiteks on autol „käigukast” ja auto on mootor . Üks-mitmele suhe on näiteks auto, millel on palju rattaid .

Koostise määratlus

Koostis on ka ühingu liik, kuid piiravam vorm. Seda on UMLis esindatud väikese kindla teemandiga, mis on komplekti klassi kõrval.

Sellises assotsiatsioonis võib koostisosa siduda maksimaalselt ühe kogumikuga. Lisaks sellele, kui koostisosa teeb koostega koostööd, on selle koosseisuga samaaegne eluiga.

Seega tähistab koosseis omandiõigust kogu selle koostisosale. See suurendaks lõpuks programmeerimise mugavust. Koostis võib vallandada koostisobjekti kustutamise kogumikuobjekti kustutamisega.

Kompositsioon kirjeldab suhet „osa” . Näiteks on leht puude osa, kui puu hävitatakse, siis tuleb lehed hävitada.

Koondumise ja koosseisu peamised erinevused

  1. Agregatsioon näitab suhet, kus laps ja emaettevõtted võivad eksisteerida iseseisvalt. Seoses koosseisuga sõltub lapsüksus vanemast.
  2. Kokkuvõttes eksisteerib “omab” suhet, samas kui koosseisus on kokkupanemise ja koostis-klassi objektide vahel „seos”.
  3. Agregatsioon on nõrk seos, samas kui kompositsioon on tugev seos, sest sellel on rohkem piiranguid.
  4. UML-i disainis kirjeldatakse koondamist õõnsa teemantiga. Vastupidi, kompositsiooni kujutab tahke teemant.

Järeldus

Kokkuvõttes on koostisosadel iseseisev olemasolu ja neid saab jagada või ümber paigutada agregaatidele või selle koosseisule. Teisest küljest kuulub koostisosa koosseisus täpselt ühele koostule või agregaadile. Lisaks luuakse osa siis, kui agregaat on moodustunud ja osa hävitatakse, kui agregaat hävitatakse.

Top