First page Back Continue Last page Overview Graphics

Komposition


Notes:

Die „Komposition“ wird ebenfalls benützt, um ein „Teile - Ganzes“ - Verhältnis zu modellieren. Es ist das „stärkere“ der beiden Konzepte in dem Sinn, dass Teile allein bei dieser Modellierungsvariante keine Daseinsberechtigung mehr haben.
Das bedeutet also, dass die Teile untergehen, wenn das Ganze untergeht. In diesem Sinne war das vorige Beispiel (Bestellung - Positionen) im Grunde mehr ein Beispiel für eine Komposition, nicht für eine Aggregation: Wird die Bestellung vernichtet macht es auch keinen Sinn mehr, die Einzelpositionen zu behalten, sie können bzw. sollen ebenfalls vernichtet werden.
Das bedingt selbstverständlich gewisse Codierungsdisziplin bzw. den Einsatz eines Codegenerators, der sich selbsttätig um diese Belange kümmert (im wesentlichen geht es darum im Destruktor des Ganze-Objektes die Teile zu vernichten). Immer daran denken: die UML macht keine Aussage darüber, wie die Implementierung auszusehen hat!
Ein weiterer Unterschied - der vermutlich ebenfalls Unterschiede in der Kodierung mit sich bringen wird, besteht darin, dass Teile einer Komposition ausserhalb der Komposition ebenfalls nicht existieren. Sie sind nur Bestandteile der Komposition. Das trifft auf die Einzelposten des vorigen Beispiels eher zu als z.B. auf „Artikel“, die ohne weiteres auch in anderem Zusammenhang genannt und verarbeitet werden können.