Mikä on kokoonpano?
Sävellys on yhdistämisen erityistapaus, jonka avulla voit määrittää koko osan suhteen sävellysluokan ja alisteisen (osa) luokan välillä.
Mikä on yhdistäminen?
Aggregaatio on erityinen yhdistämistapaus, kun objektilla 'on-a' toinen objekti, jonka voi olla yhdistetty niiden välillä. Niiden välinen suunta auttaa määrittämään, mikä objekti sisältää toisen objektin. Yhdistäminen tunnetaan myös nimellä "Has-a" -suhde. Se on UML: n assosiointisuhteen alatyyppi.
AVAINEROT
- Aggregaatio on kahden tyyppinen assosiaation tyyppi, joka kuvaa "on" -suhdetta, kun taas Composition on tietyntyyppinen aggregaatio, joka merkitsee omistusta.
- Kokoonpano ilmoitetaan käyttämällä suoraa viivaa, jonka toisessa päässä on tyhjä nuolenpää. Toisaalta koostumus ilmoitetaan käyttämällä suoraa viivaa, jonka toisessa päässä on täytetty nuolenpää.
- Yhdistelmäsuhteessa toisiinsa liittyvät objektit voivat jäädä järjestelmän piiriin ilman toisiaan. Mutta sommittelusuhteessa toisiinsa liittyvät esineet eivät voi jäädä soveltamisalaan ilman toisiaan.
- Yhdistelmässä linkitetyt objektit eivät ole riippuvaisia toisesta kohteesta, kun taas kokoonpanossa objektit ovat hyvin riippuvaisia toisistaan.
- Yhdistelmässä yksittäisen elementin poistaminen ei vaikuta toiseen siihen liittyvään elementtiin. Päinvastoin, koostumuksessa yhden elementin poistaminen vaikuttaa toiseen siihen liittyvään elementtiin.
- Kokoonpanoa merkitään täytetyllä timantilla, kun taas koostumusta merkitään tyhjällä timantilla.
Keskeiset tilastot
Yhteenveto | Sävellys | |
Omistaja | Ei omistajaa | Yksi omistaja |
Elinikä | Onko heidän elämänsä. | Omistajan elinikä. |
Lapsiobjekti | Kaikki lapsiesineet ovat itsenäisiä. | Lapsiesineet kuuluvat yksinhuoltajalle. |
Esimerkki koostumuksesta
Kansio voi sisältää useita tiedostoja, kun taas jokaisessa tiedostossa on täsmälleen yksi kansion vanhempi. Jos kansio poistetaan, myös kaikki sisältämät tiedostot poistetaan. Yhdistelmäkokonaisuudessa esine voi olla osa vain yhtä yhdistelmää kerrallaan.
Esimerkki aggregaatista
Esimerkiksi autosi koostuu pyöristä, moottorista, vaihdelaatikosta, ohjauksesta ja päärungosta jne. Se on kokoonpano, ja muut osat ovat sen osia.
Täällä auto pyörään on yksi aggregaatio, auto moottorista on toinen aggregaatti, auto vaihteistoon toinen ja niin edelleen.
Tämän tyyppinen pariliitos auttaa määrittämään kokoonpanon osan moninaisuuden sen tuloksena. Esineiden lukumäärä voidaan myös kuvata.
Auto tarvitsee pyörän toimiakseen oikein. Emme kuitenkaan voi sanoa samaa autolla. Samaa logiikkaa voidaan soveltaa polkupyörään, polkupyörään tai mihin tahansa muuhun ajoneuvoon, mutta ei tiettyyn autoon.
Tässä pyörän esineellä on merkitystä myös ilman auton esinettä. Se tunnetaan aggregaatiosuhteena.
Ero yhdistämisen ja koostumuksen välillä
Tässä on tärkein ero aggregaation ja koostumuksen välillä:
Yhteenveto | Sävellys |
Yhdistäminen on kahden objektin välinen assosiaatiotyyppi, joka kuvaa myös "on" -suhdetta. | Kokoonpano on tietyntyyppinen yhdistelmä, joka merkitsee omistajuutta. |
Kokoonpano ilmoitetaan käyttämällä suoraa viivaa, jonka toisessa päässä on tyhjä nuolenpää. | Koostumus ilmoitetaan käyttämällä suoraa viivaa, jonka toisessa päässä on täytetty nuolenpää. |
Yhdistäminen on osa assosiaatio-suhdetta. | Sävellys on osa assosiaatio-suhdetta. |
Yhdistämistä pidetään heikkona yhdistystyyppinä. | Koostumusta pidetään vahvana yhdistystyyppinä. |
Yhdistelmäsuhteessa toisiinsa liittyvät objektit voivat jäädä järjestelmän piiriin ilman toisiaan. | Sommittelusuhteessa toisiinsa liittyvät esineet eivät voi pysyä soveltamisalassa ilman toisiaan. |
Yhdistelmässä linkitetyt objektit eivät ole riippuvaisia toisesta objektista. | Koostumuksessa esineet ovat hyvin riippuvaisia toisistaan. |
Yhdistelmässä yksittäisen elementin poistaminen ei vaikuta toiseen siihen liittyvään elementtiin. | Yhden elementin poistaminen vaikuttaa koostumuksessa toiseen liittyvään elementtiin. |
Esimerkki: Auto tarvitsee pyörän, mutta se ei aina vaadi samaa pyörää. Auto voi toimia riittävästi myös toisen pyörän kanssa. | Esimerkki: Tiedosto sijoitetaan kansion sisään. Jos jokin poistaa kansion, myös kyseiseen kansioon liittyvä tiedosto poistetaan. |
Yhdistelmässä vanhempien suhde lapsiyksikköön. | Koostumuksessa emoyhteisö omistaa alayksikön. |
Se on merkitty täytetyllä timantilla | Se on merkitty tyhjällä timantilla |
Lapsella ei ole elinikää. | Lapsella voi olla elinaika. |
Sitä edustaa ontto timantti kokoonpanoluokan vieressä. | Sitä edustaa kiinteä timantti kokoonpanoluokan vieressä. |
Kokoonpanon poistaminen ei koskaan vaikuta sen osiin. | Jos omistat luokan, objekti poistetaan. Se vaikuttaa myös sisältävään luokan objektiin. |