Liitmine vs koostis UML-is: peamised erinevused

Lang L: none (table-of-contents):

Anonim

Mis on koostis?

Kompositsioon on liitmise erijuhtum, mis aitab teil täpsustada kompositsiooniklassi ja alluva (osa) klassi vahelist tervet osa.

Mis on liitmine?

Liitmine on assotsieerumise erijuhtum, kui objektil on mõni teine ​​objekt, mille vahel saate liita. Nende vaheline suund aitab teil täpsustada, milline objekt sisaldab teist objekti. Liitmine on tuntud ka kui "Has-a" suhe. See on UML-i seose alatüüp.

PÕHISED VAHED

  • Liitmine on ühte tüüpi seost kahe objekti vahel, mis kirjeldavad seost "omavad", samas kui koostis on teatud tüüpi liitmine, mis tähendab omandilist kuuluvust.
  • Liitmine on tähistatud sirgjoonega, mille ühes otsas on tühi nooleots. Teiselt poolt tähistatakse kompositsiooni sirgjoonega, mille ühes otsas on täidetud nooleots.
  • Liitesuhtes võivad üksteisega seotud objektid ilma üksteiseta jääda süsteemi reguleerimisalasse. Kuid kompositsioonisuhtes ei saa üksteisega seotud objektid jääda teineteiseta ulatusse.
  • Kokkuvõttes ei sõltu seotud objektid teisest objektist, samas kui koosseisus on objektid üksteisest väga sõltuvad.
  • Koondamisel ei mõjuta ühe elemendi kustutamine teist seotud elementi. Vastupidi, koosseisus mõjutab ühe elemendi kustutamine teist seotud elementi.
  • Liitmist tähistatakse täidetud teemandiga, koostist aga tühja teemandiga.

Põhistatistika

Liitmine Kompositsioon
Omanik Omanikku pole Üksikomanik
Eluaeg Olgu neil elu. Omaniku eluiga.
Lapse objekt Lapseobjektid on kõik iseseisvad. Lapseesemed kuuluvad üksikvanemale.

Näide kompositsioonist

Kaust võib sisaldada palju faile, samas kui igal failil on täpselt üks kausta vanem. Kui kaust kustutatakse, eemaldatakse ka kõik sisalduvad failid. Komposiitgrupis võib objekt olla korraga ainult ühe komposiidi osa.

Liitmise näide

Näiteks koosneb teie auto ratastest, mootorist, käigukastist, roolist ja põhikorpusest jne. See on koost ja muud osad on selle koostisosad.

Siin on auto rattani üks agregatsioon, auto mootorini on teine ​​agregatsioon, auto käigukasti juurde teine ​​jne.

Seda tüüpi sidumine aitab teil selle tulemina määratleda koosseisu kuuluva osa paljususe. Kujutada saab ka objektide arvu.

Auto vajab korrektseks tööks ratast. Autoga ei saa me aga sama öelda. Sama loogikat saab rakendada ka jalgratta, jalgratta või muu sõiduki puhul, kuid mitte konkreetse auto puhul.

Siin on rattaobjekt mõttekas ka ilma autoobjektita. Seda tuntakse liitmise suhtena.

Erinevus liitmise ja koostise vahel

Siin on peamine erinevus liitmise ja koosseisu vahel:

Liitmine Kompositsioon
Liitmine on ühte tüüpi assotsieerumine kahe objekti vahel, mis kirjeldab ka suhet "omada". Kompositsioon on teatud tüüpi liitmine, mis tähendab omandilist kuuluvust.
Liitmine on tähistatud sirgjoonega, mille ühes otsas on tühi nooleots. Kompositsiooni tähistamiseks kasutatakse sirget joont, mille ühes otsas on täidetud nooleots.
Liitmine on osa assotsiatsioonisuhtest. Kompositsioon on osa assotsiatsioonisuhtest.
Liitmist peetakse nõrgaks assotsiatsioonitüübiks. Kompositsiooni peetakse tugevaks assotsiatsioonitüübiks.
Liitesuhtes võivad üksteisega seotud objektid ilma üksteiseta jääda süsteemi reguleerimisalasse. Kompositsioonisuhtes ei saa üksteisega seotud objektid jääda teineteiseta ulatusse.
Kokkuvõttes ei sõltu lingitud objektid teisest objektist. Kompositsioonis on objektid üksteisest väga sõltuvad.
Koondamisel ei mõjuta ühe elemendi kustutamine teist seotud elementi. Kompositsioonis mõjutab ühe elemendi kustutamine teist seotud elementi.
Näide: auto vajab ratast, kuid see ei vaja alati sama ratast. Auto saab adekvaatselt töötada ka teise rattaga. Näide: fail paigutatakse kausta. Kui üks kustutab kausta, kustutatakse ka selle antud kaustaga seotud fail.
Koondamisel vanemate suhe lapsüksusega. Koosseisus on emaettevõte alamüksus.
Seda tähistatakse täidetud teemandiga Seda tähistatakse tühja teemandiga
Lapsel pole elu. Lapsel võib olla kogu elu.
Seda esindab monteerimisklassi kõrval õõnes teemant. Seda esindab montaažiklassi kõrval kindel teemant.
Koostu kustutamine ei mõjuta kunagi selle osi. Klassi omamise korral objekt kustutatakse. See mõjutab ka sisaldavat klassiobjekti.