Objektovo orientované programovanie je bežnou paradigmou, ktorá sa používa pri vývoji softvéru. Objekt je inštanciou triedy, ktorá je vytvorená podľa tried. Predmety spolupracujú navzájom prostredníctvom odkazov. Odkazy sú fyzické a koncepčné spojenie medzi objektmi. Zbierka odkazov s podobnou štruktúrou a sémantikou je opísaná ako asociácia .
Porovnávacia tabuľka
Základ pre porovnanie | sčítanie | zloženie |
---|---|---|
základné | V agregácii existuje vzťah, v ktorom dieťa môže existovať nezávisle od rodiča. | V zložení nemôže existovať nezávisle od rodiča. |
Typ vzťahu | "má" | "časť" |
Typ združenia | Slabá asociácia | Silné združenie |
Symbol dizajnu UML | Zastúpený dutým diamantom vedľa montážnej triedy. | Zastúpený pevným diamantom vedľa montážnej triedy. |
funkcie | Vymazanie zostavy neovplyvňuje jeho časti. | Ak je objekt vlastnej triedy odstránený, môže to významne ovplyvniť obsahujúci objekt triedy. |
Definícia agregácie
Agregácia môže byť definovaná ako vzťah s montážnou triedou ku zložkovej triede. Vzťah medzi dvoma objektmi môže byť reprezentovaný vykreslením segmentu riadkov v jazyku UML (Unified Modeling Language).
Napríklad auto pozostáva z kolies, motora, prevodovky, riadenia, hlavného telesa atď. Vozidlo je zostava a ostatné časti sú jeho komponenty. Auto na kolesá je jedna agregácia, auto do motorov je ďalšia agregácia a tak ďalej. Každé jednotlivé párovanie je definované tak, aby špecifikovalo početnosť každej zložky v zostave ako výsledok, ktorý môže byť zobrazený aj počtom objektov.
Agregácia je typ združenia, ktoré opisuje vzťah typu "má a" medzi objektmi. Napríklad auto "má" prevodovku a auto má "motor" . Pri vzťahoch medzi jedným alebo viacerými sú príkladom auto "má" veľa kolies .
Definícia zloženia
Zloženie je tiež typom asociácie, ale je to reštriktívnejšia forma. Je reprezentovaný v UML malým pevným diamantom susediacim s montážnou triedou.
Zloženie teda znamená vlastníctvo základnej časti celku. To by v konečnom dôsledku zvýšilo pohodlie pri programovaní. Táto kompozícia môže spustiť vymazanie objektu tvorby vymazaním montážneho objektu.
Kompozícia opisuje vzťah "časť" . Napríklad list je súčasťou stromu, ak je strom zničený, potom sú listy musia byť zničené.
Kľúčové rozdiely medzi agregáciou a zložením
- Agregácia označuje vzťah, v ktorom môžu mať dieťa a rodičovské entity nezávisle. V protiklade k zloženiu je detský subjekt závislý od rodiča.
- V súhrne existuje vzťah "má a", zatiaľ čo v zložení existuje vzťah "časť" medzi zostavou a objektmi triedy tvoriacej zložku.
- Agregácia je slabá asociácia, zatiaľ čo kompozícia je silná asociácia, pretože má viac obmedzení.
- V dizajne UML je agregácia opísaná dutým diamantom. Na rozdiel od toho je kompozícia zobrazená pevným diamantom.
záver
Súhrnné zložky majú samostatnú existenciu a môžu byť zdieľané alebo opätovne priradené agregátom alebo ich zostaveniu. Na druhej strane v zložení tvorí súčasť presne jedno zhromaždenie alebo agregát. Okrem toho sa táto časť vytvorí, keď sa vytvorí agregát a časť sa zničí pri zničení agregátu.