Empfohlen, 2019

Tipp Der Redaktion

Unterschied zwischen Aggregation und Zusammensetzung

Aggregation und Zusammensetzung sind die Assoziationsarten. Der Hauptunterschied zwischen Aggregation und Zusammensetzung besteht darin, dass die Aggregation eine Beziehung impliziert, in der das Kind unabhängig vom übergeordneten Element existieren kann. Auf der anderen Seite unterstellt die Komposition eine Beziehung, in der das Kind nicht unabhängig vom Elternteil existieren kann.

Objektorientierte Programmierung ist ein allgemeines Paradigma, das in der Softwareentwicklung verwendet wird. Das Objekt ist eine Instanz einer Klasse, die von Klassen erstellt wird. Die Objekte arbeiten über Links zusammen. Verknüpfungen sind die physische und konzeptionelle Verbindung zwischen Objekten. Eine Sammlung von Links mit ähnlicher Struktur und Semantik wird als Assoziation bezeichnet .

Vergleichstabelle

Basis zum VergleichAnhäufungZusammensetzung
BasicIn der Aggregation gibt es eine Beziehung, in der ein Kind unabhängig vom Elternteil existieren kann.In der Komposition kann das nicht unabhängig vom Elternteil existieren.
Art der Beziehung"hat ein""Teil von"
AssoziationstypSchwache AssoziationStarke Verbindung
UML-Design-SymbolNeben der Montageklasse durch einen hohlen Diamanten dargestellt.Neben der Montageklasse durch einen massiven Diamanten dargestellt.
FunktionDas Löschen einer Baugruppe hat keine Auswirkungen auf ihre Teile.Wenn das besitzende Klassenobjekt gelöscht wird, kann dies erhebliche Auswirkungen auf das enthaltende Klassenobjekt haben.

Definition von Aggregation

Aggregation kann als Beziehung zwischen einer Assemblyklasse und einer konstituierenden Klasse definiert werden. Die Beziehung zwischen zwei Objekten kann durch Zeichnen eines Liniensegments in UML (Unified Modeling Language) dargestellt werden.

Aggregation wird auch verwendet, um die Vielzahl von Objekten anzugeben, z. B. Eins-zu-Eins, Eins-zu-Viele und Viele-Zu-Viele. Wenn ein Objekt der Klasse X einem einzelnen Objekt der Klasse Y zugeordnet ist, besteht eine Eins-zu-Eins-Beziehung. Wenn ein einzelnes Objekt einer Klasse mit mehreren Objekten einer Klasse verknüpft ist, wird diese Beziehung als Eins-zu-Viele bezeichnet.

Ein Auto besteht beispielsweise aus Rädern, Motor, Getriebe, Lenkung, Hauptkörper usw. Ein Auto ist eine Baugruppe, und die anderen Teile sind dessen Bestandteile. Auto auf Rädern ist eine Aggregation, Auto auf Motoren ist eine andere Aggregation und so weiter. Jede einzelne Paarung ist definiert, um die Multiplizität jedes Bestandteils innerhalb der Baugruppe als Ergebnis festzulegen. Die Anzahl der Objekte kann ebenfalls dargestellt werden.

Bei der Aggregation handelt es sich um einen Assoziationstyp, der eine Beziehung zwischen den Objekten beschreibt. Beispielsweise hat ein Auto ein Getriebe und ein Auto einen Motor . Für die Eins-zu-Viele-Beziehung hat ein Auto beispielsweise viele Räder .

Definition der Zusammensetzung

Die Komposition ist auch eine Art Assoziation, aber eine restriktivere Form. Sie wird in UML durch einen kleinen massiven Diamanten neben der Baugruppenklasse dargestellt.

Bei dieser Art von Verbindung kann der Bestandteil höchstens einer Baugruppe zugeordnet werden. Wenn ein Bestandteil mit der Baugruppe zusammenarbeitet, hat es außerdem eine gleichzeitige Lebensdauer mit der Baugruppe.

Zusammensetzung bedeutet also Eigentum an dem konstituierenden Teil des Ganzen. Dies würde letztendlich den Komfort für die Programmierung erhöhen. Die Komposition kann das Löschen des konstituierenden Objekts durch das Löschen eines Assembly-Objekts auslösen.

Die Komposition beschreibt einen "Teil einer" Beziehung. Ein Blatt ist beispielsweise Teil eines Baumes . Wenn der Baum zerstört wird, müssen Blätter zerstört werden.

Hauptunterschiede zwischen Aggregation und Zusammensetzung

  1. Aggregation bezeichnet eine Beziehung, in der untergeordnete und übergeordnete Entitäten unabhängig voneinander existieren können. In der Zusammensetzung ist die untergeordnete Entität jedoch von der übergeordneten abhängig.
  2. In der Aggregation gibt es eine „hat eine“ Beziehung, während in der Komposition ein „Teil der“ Beziehung zwischen der Assembly und den konstituierenden Klassenobjekten besteht.
  3. Aggregation ist eine schwache Assoziation, während die Komposition eine starke Assoziation ist, weil sie mehr Einschränkungen hat.
  4. Im UML-Design wird die Aggregation durch einen hohlen Diamanten beschrieben. Im Gegensatz dazu ist die Komposition durch einen massiven Diamanten abgebildet.

Fazit

Zusammengenommen haben die Bestandteile die unabhängige Existenz und können Aggregaten oder deren Zusammenstellung gemeinsam genutzt oder neu zugewiesen werden. Andererseits gehört der Bestandteil in der Zusammensetzung genau zu einer Baugruppe oder einem Aggregat. Außerdem wird das Teil erstellt, wenn das Aggregat gebildet wird, und das Teil wird zerstört, wenn das Aggregat zerstört wird.

Top