Agregavimas ir sudėtis UML: pagrindiniai skirtumai

Turinys:

Anonim

Kas yra kompozicija?

Kompozicija yra ypatingas agregavimo atvejis, padedantis nurodyti visos dalies santykį tarp kompozicijos klasės ir pavaldžios (dalies) klasės.

Kas yra agregavimas?

Agregavimas yra ypatingas susiejimo atvejis, kai objektas „turi-kitą“ objektą, kurį galite turėti tarp jų. Kryptis tarp jų padeda nurodyti, kuriame objekte yra kitas objektas. Apibendrinimas taip pat žinomas kaip „turi“ santykį. Tai yra asociacijos santykio UML potipis.

PAGRINDINIAI SKIRTUMAI

  • Agregavimas yra vienas iš dviejų objektų, apibūdinančių „turi“ ryšį, susiejimo tipas, o sudėtis yra specifinis agregavimo tipas, kuris reiškia nuosavybę.
  • Apibendrinimas nurodomas naudojant tiesią liniją su tuščia strėlės antgaliu viename gale. Kita vertus, kompozicija nurodoma naudojant tiesią liniją su užpildytu strėlės antgaliu bet kuriame iš jų galų.
  • Sujungimo santykyje objektai, kurie yra susiję vienas su kitu, gali likti sistemos apimtyje vienas be kito. Tačiau kompozicijos santykiuose vienas su kitu susiję objektai negali likti vienas be kito.
  • Apibendrinant susieti objektai nėra priklausomi nuo kito objekto, o sudėties objektai labai priklauso vienas nuo kito.
  • Apibendrinant vieno elemento ištrynimas neturi įtakos kitam susijusiam elementui. Priešingai, sudėtyje vieno elemento ištrynimas paveikia kitą susietą elementą.
  • Apibendrinimas žymimas užpildytu deimantu, o kompozicija - tuščiu deimantu.

Pagrindinė statistika

Apibendrinimas Kompozicija
Savininkas Nėra savininko Vienas savininkas
Gyvenimas Turi jų gyvenimą. Savininko gyvenimas.
Vaiko objektas Visi vaikų objektai yra nepriklausomi. Vaiko objektai priklauso vienišiems tėvams.

Kompozicijos pavyzdys

Kataloge gali būti daug failų, o kiekviename faile yra tiksliai vienas aplanko pagrindinis elementas. Jei aplankas ištrinamas, pašalinami visi failai. Sudėtiniame agregate objektas vienu metu gali būti tik vieno kompozito dalis.

Suvestinio pavyzdys

Pavyzdžiui, jūsų automobilį sudaro ratai, variklis, pavarų dėžė, vairas ir pagrindinis kėbulas ir kt. Tai yra agregatas, o kitos dalys yra jo sudedamosios dalys.

Čia automobilis prie rato yra vienas agregavimas, automobilis prie variklio yra dar vienas agregatas, automobilis prie pavarų dėžės kitas ir pan.

Šis susiejimo tipas padeda apibrėžti sudedamosios dalies daugybę surinkime kaip jos rezultatą. Taip pat galima pavaizduoti objektų skaičių.

Kad automobilis veiktų teisingai, automobiliui reikalingas ratas. Tačiau mes negalime to pasakyti su automobiliu. Ta pati logika gali būti taikoma dviračiui, dviračiui ar bet kuriai kitai transporto priemonei, bet ne tam tikram automobiliui.

Čia rato objektas yra prasmingas net be automobilio objekto. Jis žinomas kaip agregavimo santykis.

Agregacijos ir sudėties skirtumas

Čia yra pagrindinis skirtumas tarp apibendrinimo ir sudėties:

Apibendrinimas Kompozicija
Agregavimas yra vienas iš dviejų objektų susiejimo tipų, kuris taip pat apibūdina „turi“ ryšį. Kompozicija yra specifinis agregacijos tipas, kuris reiškia nuosavybę.
Apibendrinimas nurodomas naudojant tiesią liniją su tuščia strėlės antgaliu viename gale. Kompozicija nurodoma tiesia linija su užpildytu strėlės antgaliu bet kuriame iš galų.
Apibendrinimas yra asociacijos santykių dalis. Kompozicija yra asociacijos santykių dalis.
Agregavimas laikomas silpnu asociacijos tipu. Kompozicija laikoma stipriu asociacijos tipu.
Sujungimo santykyje objektai, kurie yra susiję vienas su kitu, gali likti sistemos apimtyje vienas be kito. Kompozicijos santykiuose objektai, kurie yra susiję vienas su kitu, negali likti vienas be kito.
Apibendrinant susieti objektai nėra priklausomi nuo kito objekto. Kompozicijoje objektai yra labai priklausomi vienas nuo kito.
Apibendrinant vieno elemento ištrynimas neturi įtakos kitam susijusiam elementui. Sudėtyje vieno elemento ištrynimas paveikia kitą susietą elementą.
Pavyzdys: automobiliui reikia rato, tačiau ne visada reikia to paties rato. Automobilis gali tinkamai veikti ir su kitu ratu. Pavyzdys: Failas dedamas į aplanką. Jei vienas ištrina aplanką, tada ištrinamas ir failas, susietas su šiuo nurodytu aplanku.
Apibendrinant tėvų santykiai su antriniu subjektu. Sudaroje patronuojantis subjektas turi antrinį subjektą.
Jis žymimas užpildytu deimantu Jis žymimas tuščiu deimantu
Vaikas neturi gyvenimo. Vaikas gali turėti visą gyvenimą.
Šalia surinkimo klasės jį vaizduoja tuščiaviduris deimantas. Šalia surinkimo klasės jį vaizduoja tvirtas deimantas.
Surinkimo ištrynimas niekada nepaveikia jo dalių. Jei turite klasę, objektas ištrinamas. Tai taip pat veikia turintį klasės objektą.