Aanbevolen, 2024

Editor'S Choice

Verschil tussen aggregatie en compositie

Aggregatie en samenstelling zijn de soorten associatie. Het belangrijkste verschil tussen aggregatie en compositie is dat aggregatie een relatie impliceert waarbij het kind onafhankelijk van de ouder kan bestaan. Aan de andere kant suggereert compositie een relatie waarin het kind niet onafhankelijk van de ouder kan bestaan.

Object-georiënteerd programmeren is een gemeenschappelijk paradigma dat wordt gebruikt in softwareontwikkeling. Het object is een instantie van een klasse die is gemaakt door klassen. De objecten werken met elkaar samen via Links. Links zijn de fysieke en conceptuele verbanden tussen objecten. Een verzameling links met een vergelijkbare structuur en semantiek wordt beschreven als een associatie .

Vergelijkingstabel

Basis voor vergelijkingAggregatieSamenstelling
basis-Samengevoegd vertonen ze een relatie waarin een kind onafhankelijk van de ouder kan bestaan.In samenstelling kan het niet onafhankelijk van de ouder bestaan.
Type relatie"heeft een""deel van"
AssociatietypeZwakke associatieSterke associatie
UML-ontwerpsymboolVertegenwoordigd door een holle diamant naast de assemblageklasse.Vertegenwoordigd door een solide diamant naast de assemblageklasse.
FunctieHet verwijderen van de assemblage heeft geen invloed op de onderdelen.Als het eigenaarklasseobject wordt verwijderd, kan dit het klasseobject van de klasse aanzienlijk beïnvloeden.

Definitie van aggregatie

Aggregatie kan worden gedefinieerd als een relatie met een assemblageklasse tot een samenstellende klasse. De relatie tussen twee objecten kan worden weergegeven door een lijnsegment te tekenen in UML (Unified Modeling Language).

Aggregatie wordt ook gebruikt om de veelheid aan objecten te specificeren, zoals één-op-één, één-op-veel en veel-op-veel. Wanneer een object van klasse X is gekoppeld aan een enkel object van klasse Y, bestaat er in dat geval een één-op-één-relatie. Evenzo, als een enkel object van een klasse is geassocieerd met meerdere objecten van een klasse, dan wordt deze relatie aangeduid als one-to-many.

Een auto bestaat bijvoorbeeld uit wielen, motor, versnellingsbak, besturing, hoofdgedeelte, enz. Een auto is een verzameling en de andere onderdelen zijn de onderdelen ervan. Auto naar wielen is één aggregatie, auto naar motoren is een andere aggregatie, enzovoort. Elke individuele koppeling is gedefinieerd om de veelvoud van elk samenstellend deel binnen het samenstel te specificeren als uitkomst kan het aantal objecten ook worden afgebeeld.

De aggregatie is een type associatie die een relatie beschrijft tussen de objecten. Bijvoorbeeld, een auto "heeft een" versnellingsbak en een auto "heeft een" motor . Voor de een-op-veel-relatie is een voorbeeld een auto die veel wielen heeft .

Definitie van samenstelling

De compositie is ook een soort associatie maar een meer beperkende vorm. Het wordt in UML vertegenwoordigd door een uiterst klein, vast diamant naast de assemblageklasse.

In dit type associatie kan het samenstellende deel worden gekoppeld aan maximaal één assembly. Bovendien, wanneer een samenstellend onderdeel samenwerkt met assemblage, zal het de gelijktijdige levensduur hebben met de assembly.

Compositie betekent dus eigendom van het samenstellende deel van het geheel. Dit zou uiteindelijk het gemak voor de programmering vergroten. De compositie kan het verwijderen van het samenstellende object activeren door het verwijderen van een assembly-object.

De compositie beschrijft een "deel van" relatie. Een blad is bijvoorbeeld een deel van een boom, als de boom wordt vernietigd, moeten de bladeren worden vernietigd.

Belangrijkste verschillen tussen aggregatie en samenstelling

  1. Aggregatie geeft een relatie aan waarbij een onderliggende en bovenliggende entiteiten onafhankelijk kunnen bestaan. Tegenover, in samenstelling, is de onderliggende entiteit afhankelijk van de ouder.
  2. Samengevoegd bestaat er een "heeft een" relatie, terwijl er in compositie een "deel van" relatie bestaat tussen de assembly en de samenstellende klassenobjecten.
  3. Aggregatie is een zwakke associatie, terwijl de compositie een sterke associatie is omdat deze meer beperkingen heeft.
  4. In UML-ontwerp wordt de aggregatie beschreven door een holle diamant. De compositie daarentegen is afgebeeld met een massieve diamant.

Conclusie

Samengevoegd hebben de samenstellende delen het onafhankelijke bestaan ​​en kunnen ze worden gedeeld of opnieuw worden toegewezen aan aggregaten of de assemblage ervan. Aan de andere kant, in samenstelling, behoort het samenstellende deel tot precies één samenstel of aggregaat. Bovendien wordt het onderdeel gemaakt wanneer het aggregaat wordt gevormd en het onderdeel wordt vernietigd wanneer het aggregaat wordt vernietigd.

Top