- Template Method
-
Die Schablonenmethode (engl. template method) ist ein in der Softwareentwicklung eingesetztes Entwurfsmuster und wird für Algorithmen verwendet. Es gehört zur Kategorie der Verhaltensmuster (engl. behavorial patterns). Das Muster ist eines der sogenannten GoF-Muster (siehe Viererbande).
Dabei wird in einer abstrakten Klasse ein Skelett eines Algorithmus definiert. Die konkrete Ausformung der einzelnen Schritte wird an Unterklassen delegiert. Dadurch besteht die Möglichkeit, einzelne Schritte des Algorithmus zu verändern oder zu überschreiben, ohne dass die zugrundeliegende Struktur des Algorithmus modifiziert werden muss. Die Schablonenmethode ruft abstrakte Methoden auf, die erst in den Unterklassen definiert werden. Diese Methoden werden auch als Einschubmethoden bezeichnet.
Ein Beispiel dazu findet sich im Stream I/O API von Java. Ein OutputStream bietet eine konkrete Methode zum Schreiben eines Byte-Arrays. Diese Methode ist dort so implementiert, dass sie die Methode zum Schreiben eines einzelnen Bytes nutzt, um das ganze Array nach und nach zu schreiben. Die Methode für das einzelne Byte ist jedoch noch abstrakt, da ein OutputStream selber noch nicht spezifisch ist. Klassen wie FileOutputStream können diese Methode implementieren und sie erben automatisch eine bereits funktionierende Methode zum Schreiben eines Byte-Arrays.
Klassendiagramm
Weblinks
- Die Schablonenmethode in PHP (deutsch)
Erzeugungsmuster: Abstrakte Fabrik | Singleton | Builder | Fabrikmethode | Prototyp
Strukturmuster: Adapter | Brücke | Decorator | Facade | Flyweight | Kompositum | Stellvertreter
Verhaltensmuster: Observer | Visitor | Interpreter | Iterator | Kommando | Memento | Schablonenmethode | Strategie | Vermittler | Zustand | Zuständigkeitskette
(Klassenmuster sind kursiv dargestellt)
Wikimedia Foundation.