Querdenkender Webworker mit WordPress-Affinität

„Decorator“

Das Design-Pattern „Decorator“ (auch Wrapper) übernimmt dynamisch die Verantwortung für ein Objekt. Es wird nicht die Klasse erweitert, sondern das Objekt zur Laufzeit mit Funktionalität angereichert.

Um ein anschauliches Beispiel für einen Decorator zu geben, nehme ich das Objekt, daß in meinem Factory Method-Beispiel erzeugt wurde, um die Ausgabe der repr-Methode wahlweise in einen HTML-p- oder div-Container zu packen.

400: Invalid request

Um die Klassen etwas generischer zu halten, habe ich einen Superklasse definiert, die in ihrem Konstruktor die Referenz eines Objektes aufnimmt. Die speyialisierten Dekorator-Klassen geben mit der jeweils definierten repr-Methode die modifizierte Ausgabe des ursprünglichen Objektes zurück.

[code lang=“php“]
$obj = Factory::create (__FILE__);
$d = new PDecorator ($obj);
print $d->repr ();
$d = new DivDecorator ($obj);
print $d->repr ();
[/code]

Have fun!

Das könnte Dich auch interessieren:

Deine Meinung ist uns wichtig

*