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 pamats | Apvienošana | Sastāvs |
---|---|---|
Pamata | Apkopojot 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 veids | Vāja asociācija | Spēcīga asociācija |
UML dizaina simbols | Pārstāvis ar dobu dimantu blakus montāžas klasei. | Pārstāv ar cietu dimantu blakus montāžas klasei. |
Funkcija | Montāž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).
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.
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
- 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.
- Kopumā pastāv attiecības ar “ir”, bet sastāvā ir “daļa” attiecību starp asambleju un komponentu klases objektiem.
- Apvienošana ir vāja asociācija, bet kompozīcija ir spēcīga asociācija, jo tai ir vairāk ierobežojumu.
- 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.