Wat is compositie?
De compositie is een speciaal geval van Aggregation dat u helpt om een partiële relatie tussen de compositieklasse en een ondergeschikte (deel) klasse te specificeren.
Wat is aggregatie?
Aggregatie is een speciaal geval van associatie wanneer een object een ander object 'heeft', waarmee u een aggregatie tussen de objecten kunt hebben. De richting ertussen helpt u om te specificeren welk object het andere object bevat. Aggregatie wordt ook wel een "Has-a" -relatie genoemd. Het is een subtype van een associatierelatie in UML.
BELANGRIJKSTE VERSCHILLEN
- Aggregatie is een type associatie tussen twee objecten die de 'heb een'-relatie beschrijft, terwijl compositie een specifiek type aggregatie is dat eigendom impliceert.
- Aggregatie wordt aangegeven met een rechte lijn met een lege pijlpunt aan één uiteinde. Aan de andere kant wordt de compositie aangegeven met een rechte lijn met een gevulde pijlpunt aan een van de uiteinden.
- In een aggregatierelatie kunnen objecten die aan elkaar zijn gekoppeld, zonder elkaar binnen het bereik van een systeem blijven. Maar in een compositierelatie kunnen objecten die met elkaar zijn geassocieerd, niet zonder elkaar in de scope blijven.
- In Aggregation zijn gekoppelde objecten niet afhankelijk van het andere object, terwijl objecten in compositie sterk van elkaar afhankelijk zijn.
- In Aggregation heeft het verwijderen van een enkel element geen invloed op een ander gekoppeld element. Integendeel, bij de samenstelling heeft het verwijderen van een enkel element invloed op een ander geassocieerd element.
- Aggregatie wordt aangegeven door een gevulde diamant, terwijl samenstelling wordt aangegeven door een lege diamant.
Belangrijkste statistieken
Aggregatie | Samenstelling | |
Eigenaar | Geen eigenaar | Enige eigenaar |
Levenslang | Hebben hun leven. | Levensduur van de eigenaar. |
Onderliggend object | Kindobjecten zijn allemaal onafhankelijk. | Onderliggende objecten behoren tot een alleenstaande ouder. |
Voorbeeld van compositie
De map kan veel bestanden bevatten, terwijl elk bestand precies één bovenliggende map heeft. Als een map wordt verwijderd, worden alle daarin opgenomen bestanden ook verwijderd. Bij een samengestelde aggregatie kan een object deel uitmaken van slechts één composiet tegelijk.
Voorbeeldaggregatie
Uw auto bestaat bijvoorbeeld uit wielen, motor, versnellingsbak, stuurinrichting en de carrosserie, enz. Het is een samenstel en de andere onderdelen zijn de onderdelen ervan.
Hier is auto naar het stuur een aggregatie, auto naar de motor is een andere aggregatie, auto naar versnellingsbak een andere, enzovoort.
Dit type koppeling helpt u om de veelheid van het samenstellende deel binnen de assembly als resultaat te definiëren. Ook het aantal objecten kan worden afgebeeld.
Een auto heeft een wiel nodig om correct te functioneren. We kunnen echter niet hetzelfde zeggen met een auto. Dezelfde logica kan worden toegepast op de fiets, fiets of elk ander voertuig, maar niet op een bepaalde auto.
Hier heeft het wielobject betekenis, zelfs zonder het auto-object. Het staat bekend als een aggregatierelatie.
Verschil tussen aggregatie en compositie
Dit is het belangrijkste verschil tussen aggregatie en compositie:
Aggregatie | Samenstelling |
Aggregatie is een soort associatie tussen twee objecten die ook de "heb een" -relatie beschrijft. | Compositie is een specifiek type aggregatie dat eigendom impliceert. |
Aggregatie wordt aangegeven met een rechte lijn met een lege pijlpunt aan één uiteinde. | De compositie wordt aangegeven met een rechte lijn met een gevulde pijlpunt aan een van de uiteinden. |
Aggregatie is een onderdeel van een associatierelatie. | De compositie maakt deel uit van een associatierelatie. |
Aggregatie wordt beschouwd als een zwak type associatie. | De compositie wordt beschouwd als een sterk type associatie. |
In een aggregatierelatie kunnen objecten die aan elkaar zijn gekoppeld, zonder elkaar binnen het bereik van een systeem blijven. | In een compositierelatie kunnen objecten die met elkaar zijn geassocieerd, niet zonder elkaar in het bereik blijven. |
In Aggregation zijn gekoppelde objecten niet afhankelijk van het andere object. | In compositie zijn objecten sterk van elkaar afhankelijk. |
In Aggregation heeft het verwijderen van een enkel element geen invloed op een ander gekoppeld element. | Bij de compositie heeft het verwijderen van een enkel element invloed op een ander bijbehorend element. |
Voorbeeld: een auto heeft een wiel nodig, maar niet altijd hetzelfde wiel. Een auto kan ook goed functioneren met een ander wiel. | Voorbeeld: er wordt een bestand in de map geplaatst. Als men de map verwijdert, wordt het bestand dat bij die map hoort ook verwijderd. |
In Aggregation, bovenliggende relatie met de onderliggende entiteit. | In samenstelling is de bovenliggende entiteit eigenaar van de onderliggende entiteit. |
Het wordt aangegeven door een gevulde diamant | Het wordt aangegeven door een lege diamant |
Kind heeft geen leven. | Kind kan een leven lang hebben. |
Het wordt weergegeven door een holle diamant naast de assemblageklasse. | Het wordt vertegenwoordigd door een massieve diamant naast de assemblageklasse. |
Het verwijderen van een assembly heeft geen invloed op de onderdelen ervan. | Als u eigenaar bent van een klasse, wordt het object verwijderd. Het heeft ook invloed op het klasseobject waarin het zich bevindt. |