Schablonenmethode | [ Übersicht ] [ Beispiel ] [ Quellen ] [ Home Entwurfsmuster ] |
Beschreibung | ||
Das Verhaltensmuster der Schablonenmethode lässt sich im Prinzip auf alle Situationen anwenden, in denen ein Algorithmus auf verschiedenen Arten von Objekten angewendet werden soll und dabei von Objekt zu Objekt variiert. Für dieses Beispiel sei eine Problematik aus der Welt der Bierherstellung gewählt. So ist der generelle Brauprozess für jede Bierart der Gleiche. Nur beim Kochen der Würze untschscheiden sich die verschieden Verfahren für Export-, Pils- oder Bockbiere. Hier entscheidet sich der Gehalt der Stammwürze (daraus resultiert auch der Alkoholgehalt) und das Bier wird mit der der Biersorte entsprechenden Menge Hopfen angereichert. Und natürlich muss beim Abfüllen des Bieres auf die Ettikettierung geachtet werden. Die abstrakte Klasse Brauerei definiert mit der abstrakten Methode brauen das Skelett des Algorithmus zum Brauprozess, brauen ist somit die Schablonenmethode. Die primitiven Operationen innerhalb von brauen kann man in invariante und variante Methoden unterteilen. Die invarianten Methoden sind jene, die für alle Biersorten gleich durchgeführt werden, diese Methdoden werden bereits in der Klasse Brauerei implementiert (z.B. anstellen, ausschlagen, gaeren). Die varianten Methoden werden für jede Biersorte unterschiedlich durchgeführt (wurzekochen und abfuellen) und werden daher durch die erbenden Klassen BrauereiBock, BrauereiExport und BrauereiPils implementiert. In dieser konkreten Implementierung wird der Einfachheit halber in jeder invarianten und varianten Methode einfach das Bier-Attribut zustand um 10 (%) erhöht. In den varianten Methoden werden weiterhin die Bier-Attribute hopfung, stammwuerze und ettikett mit den Werten belegt, die für das jeweilige Bier typisch sind. Das Bier-Attribut alkohl wird in der invarianten Methode gaeren aus der Stammwürze errechnet. Will ein Klient nun ein Bier "bestellen", so erstellt er ein neues Objekt der gewünschten Bierart. Dieses Objekt erstellt eine entsprechende Brauerei (z.B. erstellt ein ExportBier eine BrauereiExport). Es ist zwar etwas unrealistisch, dass das Bier die Brauerei erstellt, aber da dies nichts mit dem Prizip der Schablonenmethode zu tun hat, soll der "Knochen zur Abwechslung mal zum Hund kommen". Das Bier ruft nun die Methode brauen auf und diese arbeitet den Algorithmus ab. Nach Beendigung des Algorithmus hat das Bier die typischen Attribut-Belegungen und ist "trinkfertig". |
||
Struktur
|
[ Übersicht ] [ Beispiel ] [ Quellen ] [ Home Entwurfsmuster ] |