Ieteicams, 2024

Redaktora Izvēle

Starpība starp agregāciju un sastāvu

Apvienošana un sastāvs ir asociācijas veidi. Galvenā atšķirība starp agregāciju un sastāvu ir tā, ka agregācija nozīmē, ka bērns var pastāvēt neatkarīgi no vecāka. No otras puses, kompozīcija ietver attiecības, kurās bērns nevar pastāvēt neatkarīgi no vecāka.

Objektu orientēta programmēšana ir izplatīta paradigma, ko izmanto programmatūras izstrādē. Objekts ir klases piemērs, kas izveidots pēc klasēm. Objekti sadarbojas savā starpā, izmantojot saites. Saites ir fiziska un konceptuāla saikne starp objektiem. Saistību kolekcija ar līdzīgu struktūru un semantiku ir aprakstīta kā asociācija .

Salīdzinājuma diagramma

Salīdzināšanas pamatsApvienošanaSastāvs
PamataApkopojot tur parādās attiecības, kurās bērns var pastāvēt neatkarīgi no vecāka.Sastāvā nevar pastāvēt neatkarīgi no vecāka.
Attiecību veids"ir""daļa no"
Asociācijas veidsVāja asociācijaSpēcīga asociācija
UML dizaina simbolsPārstāvis ar dobu dimantu blakus montāžas klasei.Pārstāv ar cietu dimantu blakus montāžas klasei.
FunkcijaMontāžas dzēšana neietekmē tās daļas.Ja īpašnieka klases objekts tiek izdzēsts, tas var būtiski ietekmēt klases objektu.

Agregācijas definīcija

Agregāciju var definēt kā saikni ar salikšanas klasi uz komponentu klasi. Attiecību starp diviem objektiem var attēlot, zīmējot līniju segmentu UML (vienotā modelēšanas valoda).

Agregācija tiek izmantota arī, lai noteiktu tādu objektu daudzveidību kā viens pret vienu, viens pret daudziem un daudziem no daudziem. Ja X klases objekts ir saistīts ar vienu Y klases objektu, šādā gadījumā pastāv attiecības ar vienu pret vienu. Līdzīgi, ja viens klases objekts ir saistīts ar vairākiem klases objektiem, tad šīs attiecības tiek sauktas par vienu pret daudziem.

Piemēram, automašīna sastāv no riteņiem, dzinēja, pārnesumkārbas, stūres, galvenā korpusa utt. Automašīna ir montāža, un pārējās daļas ir tā sastāvdaļas. Automašīna uz riteņiem ir viena agregācija, automašīna dzinējiem ir vēl viena agregācija, un tā tālāk. Katrs atsevišķais savienojums ir definēts, lai noteiktu katras sastāvdaļas daudzveidību asamblejā, kā rezultātā var attēlot objektu skaitu.

Kopsavilkums ir asociācijas veids, kas apraksta “ir” veida attiecības starp objektiem. Piemēram, automašīnai ir pārnesumkārba, un automašīnai ir dzinējs . Viens pret daudzām attiecībām piemērs ir automašīna, kurai ir daudz riteņu .

Kompozīcijas definīcija

Sastāvs ir arī asociācijas veids, bet gan stingrāka forma. Tas ir pārstāvēts UML ar nelielu cietu dimantu blakus montāžas klasei.

Šāda veida asociācijā sastāvdaļu var saistīt ar ne vairāk kā vienu montāžu. Turklāt, ja sastāvdaļa sadarbojas ar montāžu, tam būs vienlaicīgs kalpošanas laiks ar montāžu.

Tādējādi, sastāvs nozīmē īpašumtiesības uz visu sastāvdaļu. Tas galu galā palielinātu plānošanas ērtumu. Sastāvs var izraisīt sastāvdaļas dzēšanu, dzēšot montāžas objektu.

Kompozīcija raksturo attiecību “daļu” . Piemēram, lapa ir koka daļa, ja koks tiek iznīcināts, tad lapas ir jāiznīcina.

Galvenās atšķirības starp apvienošanu un sastāvu

  1. Apvienošana norāda uz attiecībām, kurās bērns un mātesuzņēmumi var pastāvēt neatkarīgi. Tāpat kā kompozīcijā, bērna vienība ir atkarīga no vecāka.
  2. Kopumā pastāv attiecības ar “ir”, bet sastāvā ir “daļa” attiecību starp asambleju un komponentu klases objektiem.
  3. Apvienošana ir vāja asociācija, bet kompozīcija ir spēcīga asociācija, jo tai ir vairāk ierobežojumu.
  4. UML dizainā agregāciju raksta ar dobu dimantu. Turpretī kompozīciju attēlo ciets dimants.

Secinājums

Apkopojot, sastāvdaļām ir neatkarīga eksistence, un tās var koplietot vai pārdalīt agregātiem vai to montāžai. No otras puses, sastāvā ietilpstošā daļa pieder tieši vienai vienībai vai agregātam. Turklāt daļa tiek veidota, kad veidojas agregāts, un daļa tiek iznīcināta, kad iznīcina agregātu.

Top