UML Komposition
UML Komposition – Ein Sonderfall der Assoziation
Eine Komposition in der Unified Modeling Language (UML) ist ein Sonderfall der Assoziation, die eine Beziehung zwischen einem Ganzen und seinen vom Ganzen existenzabhängigen Teilen beschreibt. Einfach ausgedrückt: Bei einer Komposition kann ein Teil nie größer als das Ganze sein.
Ein Beispiel: Ein Gebäude besteht aus Räumen. Das Gebäude ist das Ganze, die Räume sind Teile des Ganzen. Da es sich um ein konkretes Gebäude handelt, ist dessen Multiplizität 1. Die Multiplizität der Räume kann von 1..* gehen, es gibt also mindestens einen Raum (ohne Raum kein Gebäude), es kann aber (zumindest in der Theorie) unendlich viele Räume geben.
Aus diesem Beispiel lassen sich einige Aspekte einer UML Komposition – die auch Composite Aggregation genannt wird – ableiten:
- Die Existenz eines Objektes bzw. einer Instanz kann nicht gleichzeitig von zwei anderen Objekten/Instanzen abhängig sein. Ein Raum gehört zu einem Gebäude und nicht gleichzeitig zu mehreren Gebäuden. In anderen Worten: das Ganze determiniert den Lebenszyklus der Teile. Wird das Ganze (also das Gebäude) beseitigt, verschwinden auch die einzelnen Teile (also die Räume). Dies wird als Existenzabhängigkeit bezeichnet.
- Ein Objekt, das Teil eines Ganzen ist, kann auch zu einem anderen Ganzen oder einfach in die Unabhängigkeit wechseln. Obwohl dies bei dem Gebäude-Raum-Beispiel nur schwer vorstellbar ist, gibt es in Berlin bspw. den Kaisersaal, der als früherer Teil des Grand Hotel Esplanade in das heutige Sony Center integriert wurde. Durch die Integration in das Sony Center ist der Kaisersaal ebenfalls wieder existenzabhängig.
Visualisiert wird eine Komposition mit einer Linie zwischen den Modellelementen und einer ausgefüllten Raute auf der Seite des Ganzen.
Hinweise:
Die Inhalte auf dieser Seite dürfen Sie gerne teilen oder verlinken.
Wir suchen Softwareentwickler. Berufseinsteigerinnen, Entwickler mit einigen und Expertinnen mit vielen Jahren Erfahrung.
Als weitere Sonderform der Assoziation gilt die Aggregation.
Bei der Implementierung von Clean Code wird empfohlen, Kompositionen anstelle von Vererbungen zu verwenden. FCoI – Favour Composition over Inheritance nennt sich das entsprechende Prinzip.
Hier finden Sie weitere Informationen zur Unified Modeling Language.
Hier finden Sie die offizielle Dokumentation der OMG Unified Modeling Language Version 2.5.
Und hier finden Sie ergänzende Informationen aus unserer Rubrik Wissen kompakt: