Čo je zloženie?
Skladba je zvláštnym prípadom agregácie, ktorý vám pomôže určiť vzťah medzi jednotlivými časťami medzi triedou kompozície a podriadenou (časťou) triedou.
Čo je agregácia?
Agregácia je zvláštny prípad asociácie, keď objekt „má“ iný objekt, ktorý môžete agregovať. Smer medzi nimi vám pomôže určiť, ktorý objekt obsahuje druhý objekt. Agregácia je tiež známa ako vzťah „Has-a“. Je to podtyp asociačného vzťahu v UML.
KĽÚČOVÉ ROZDIELY
- Agregácia je jeden typ asociácie medzi dvoma objektmi, ktoré popisujú vzťah „mať“, zatiaľ čo zloženie je špecifický typ agregácie, ktorý znamená vlastníctvo.
- Agregácia je indikovaná pomocou priamky s prázdnym hrotom šípky na jednom konci. Na druhej strane je kompozícia indikovaná pomocou priamky s vyplnenou šípkou na ktoromkoľvek z koncov.
- V agregačnom vzťahu môžu objekty, ktoré sú navzájom spojené, zostať v rozsahu systému bez seba. Ale v kompozičnom vzťahu nemôžu objekty, ktoré sú navzájom spojené, zostať v rozsahu jeden bez druhého.
- V agregácii nie sú prepojené objekty závislé od druhého objektu, zatiaľ čo v kompozícii sú objekty navzájom veľmi závislé.
- V agregácii odstránenie jedného prvku neovplyvní iný pridružený prvok. Naopak, v zložení má odstránenie jedného prvku vplyv na ďalší pridružený prvok.
- Agregácia sa označuje vyplneným diamantom, zatiaľ čo zloženie sa označuje prázdnym diamantom.
Kľúčové štatistiky
Agregácia | Zloženie | |
Majiteľ | Žiadny vlastník | Jeden majiteľ |
Život | Majú svoj život. | Životnosť majiteľa. |
Detský objekt | Detské objekty sú všetky nezávislé. | Podradené objekty patria jednému rodičovi. |
Príklad zloženia
Priečinok môže obsahovať veľa súborov, pričom každý súbor má presne jedného nadradeného priečinka. Ak je priečinok odstránený, odstránia sa aj všetky obsiahnuté súbory. V zloženej agregácii môže byť objekt súčasťou iba jedného zloženého objektu súčasne.
Príklad agregácie
Napríklad vaše auto pozostáva z kolies, motora, prevodovky, riadenia a karosérie atď. Je to zostava a ostatné súčasti sú jej súčasti.
Tu je auto za kolesom jedna agregácia, auto za motorom iná agregácia, auto za prevodovkou ďalšie atď.
Tento typ párovania vám pomôže definovať multiplicitu základnej súčasti v rámci zostavy ako jej výsledok. Môže sa tiež zobraziť počet objektov.
Auto potrebuje koleso, aby správne fungovalo. To však nemôžeme povedať s autom. Rovnakú logiku je možné použiť aj na bicykli, bicykloch alebo iných vozidlách, ale nie na konkrétnych automobiloch.
Objekt kolesa tu má zmysel aj bez objektu automobilu. Je známy ako agregačný vzťah.
Rozdiel medzi agregáciou a zložením
Tu je hlavný rozdiel medzi agregáciou a zložením:
Agregácia | Zloženie |
Agregácia je jeden typ asociácie medzi dvoma objektmi, ktorý tiež popisuje vzťah „mať“. | Zloženie je špecifický typ agregácie, z ktorého vyplýva vlastníctvo. |
Agregácia je indikovaná pomocou priamky s prázdnym hrotom šípky na jednom konci. | Kompozícia je označená pomocou priamky s vyplnenou šípkou na ktoromkoľvek z koncov. |
Agregácia je súčasťou asociačného vzťahu. | Skladba je súčasťou asociačného vzťahu. |
Agregácia sa považuje za slabý typ asociácie. | Zloženie sa považuje za silný typ asociácie. |
V agregačnom vzťahu môžu objekty, ktoré sú navzájom spojené, zostať v rozsahu systému bez seba. | V kompozičnom vzťahu nemôžu objekty, ktoré sú navzájom spojené, zostať v rozsahu jeden bez druhého. |
V agregácii nie sú prepojené objekty závislé od druhého objektu. | V zložení sú objekty navzájom veľmi závislé. |
V agregácii odstránenie jedného prvku neovplyvní iný pridružený prvok. | V zložení má odstránenie jedného prvku vplyv na ďalší pridružený prvok. |
Príklad: Auto potrebuje koleso, ale nie vždy vyžaduje to isté koleso. Auto môže adekvátne fungovať aj s iným kolesom. | Príklad: Vo vnútri priečinka je umiestnený súbor. Ak priečinok odstránite, vymaže sa aj súbor spojený s daným priečinkom. |
V rámci agregácie vzťah rodič - podriadená entita. | V zložení vlastní materská entita dcérsku entitu. |
Je označený vyplneným diamantom | Je označený prázdnym diamantom |
Dieťa nemá celý život. | Dieťa môže mať celý život. |
Predstavuje ju dutý diamant vedľa triedy montáže. | Predstavuje ho pevný diamant vedľa triedy montáže. |
Vymazanie zostavy nikdy neovplyvní jej časti. | V prípade vlastníctva triedy sa objekt vymaže. Ovplyvňuje to aj obsahujúci objekt triedy. |