Frage

Ich versuche, UML-Diagramm beschreiben Decorator-Muster auf folgenden Link:

zu verstehen

http://www.dofactory.com/Patterns/PatternDecorator.aspx

Ich verstehe nicht, warum eine „Aggregation“ dort Beziehung zwischen Ausstatter und Komponenten ist.

Ich glaube, es sollte Zusammensetzung sein als Ausstatter kann nicht ohne die Basiskomponente vorhanden sind.

War es hilfreich?

Lösung

Zusammensetzung ist stärker, dass die Aggregation, bedeutet dies in der Regel, dass das Objekt Eigentum seiner Komponenten erfolgt. Dies ist nicht der Fall in dieser Situation, weil ein Dekorateur nicht ein dekoriertes Objekt nicht besitzt. Außerdem könnten Sie den Dekorateur, ohne die Notwendigkeit entfernen das dekorierte Objekt als auch zu entfernen.

In der Praxis wird die Linie zwischen Aggregation und Zusammensetzung kann verschwommen und oft ist es nicht viel Unterschied, ob Sie eine auswählen oder die anderen, vor allem, wenn Sie behandeln Sie Diagramme als Skizzen.

Andere Tipps

Grundsätzlich, weil Sie mehrere Dekorateure auf die Komponente haben kann. Aus Wikipedia über Aggregation :

  

Die Unterschiede zwischen Zusammensetzung und   Aggregation

     

Die gesamte Zusammensetzung muss eine haben   Vielzahl von 0..1 oder 1, was anzeigt,   dass ein Teil muss nur sein   ganze. Die Gesamtheit einer Aggregation kann   haben keine Vielheit.

auch

  

Zusammensetzung hat in der Regel ein starkes Leben   Zyklusabhängigkeit zwischen Instanzen von   die Containerklasse und Instanzen   Die enthaltenen Klasse (n): Wenn die   Behälter zerstört wird, die normalerweise jede   Instanz, die sie enthält, zerstört wird   als auch.

Beachten Sie die Verwendung des Wortes 'in der Regel'.

Werfen Sie einen Blick auf die Beispiel Dekorateur Diagramm , auch bei Wikipedia für ein klareres Beispiel warum dies der Fall ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top