Dekorierer [ Übersicht ] [ Beispiel ] [ Quellen ] [ Home Entwurfsmuster ]


Beschreibung

Das Beispiel ist wie folgt aufgebaut. Die Klasse ROOT_CLASS steuert die Zusammenarbeit der übrigen Klassen und implementiert eine Methode zur Demonstration des beschriebenen Konzepts.
Die Klasse DEKORIERER ist eine abstrakte Klasse und stellt den eigentlichen Dekorierer dar, der eine andere Komponente enthalten kann.
Die Klasse KOMPONENTE stellt die Schnittstelle aller visuellen Komponenten dar. Von ihr sind die konkreten Komponenten- und der Dekoriererklassen abgeleitet.
Die Klasse TEXT_KOMPONENTE ist ein Beispiel für ein visuelle Komponente, die dekoriert werden soll. Sie implementiert alle von der Komponenten-Schnittstelle zur Verfügung gestellten Operationen. Diese Operationen beziehen sich natürlich nur auf den enthaltenen Text.
Die Klassen NORMAL_RAHMEN_DEKORIERER, DASH_RAHMEN_DEKORIERER, EINFACH_KODIER_DEKORIERER und KOMPLEX_KODIER_DEKORIERER sind die konkreten Dekorierer und stammen direkt vom abstrakten Dekorierer und indirekt auch von der abstrakten Komponente ab.
Der NORMAL_RAHMEN_DEKORIERER bildet einen durchgezogenen Rahmen um die enthaltene Komponente. Der DASH_RAHMEN_DEKORIERER bildet einen gestrichelten Rahmen um die enthaltene Komponente. Der EINFACH_KODIER_DEKORIERER und der KOMPLEX_KODIER_DEKORIERER kodiert die Texte der enthaltenen Komponente, wenn es sich bei der Komponente nicht um einen Rahmendekorierer handelt. Wenn ein Rahmen kodiert wird, wird die Komponente einfach durch eine Rechteck überdeckt. Der EINFACH_KODIER_DEKORIERER hat außerdem die Eigenschaft (nicht bei Kodierung von Rahmen), daß er bei zweimaliger Anwendung( direkt hintereinander ) den zuerst kodierten Text in den Orginaltext umwandelt.


[ Übersicht ] [ Beispiel ] [ Quellen ] [ Home Entwurfsmuster ]
Stand: 31.03.2005, Autor: Henning Schwarz