homeSoftwaredesign Softwaredesign: Schablonenmethode Prof. Dr. Uwe Schmidt FH Wedel

Schablonenmethode

weiter

weiter

Schablonenmethode

Klassifizierung
klassenbasiertes Verhaltensmuster
weiter
Zweck
Skelett eines Algorithmus festlegen
einzelne Arbeitsschritte an Unterklassen delegieren
weiter
Alias
template method
weiter
Motivation und Beispiele
in einer GUI-Umgebung soll die event loop entkoppelt werden von der Verarbeitung der events
Container für eine Liste mit vielen Methoden fertig
einige Methoden, z.B. das Sortieren bleiben offen
ein Sortieralgorithmus wird implementiert
aber das Sortierkriterium bleibt offen
Beispiel in Java
ein Seitenformatierer
mit variablen Kopf- und Fußzeilen
Beispiel in Java
weiter
Anwendbarkeit
invariante Teile in Basisklassen festlegen
variable Teile in Unterklassen anwendungsspezifisch implementieren
Vermeidung von Codeverdopplung
weiter
Struktur
Strukturdiagramm
weiter
Teilnehmer
  AbstrakteKlasse
definiert abstrakte "primitive" Operationen
--> Verarbeitungsschritte
definiert konkrete Schablonenmethode
--> Kontrollstruktur
  KonkreteKlasse[1-2]
implementieren verschiedene "primitive" Operationen
weiter
Konsequenzen
Trennung: feste <--> variable Teile eines Algorithmus
primitive Operationen werden statisch festgelegt
nicht dynamisch konfigurierbar
dynamisch konfigurierbar: --> Strategie
weiter
Implementierung
im einfachsten Fall entfällt die Schablonenmethode
--> Sortieralgorithmen
weiter
Bekannte Verwendungen
in einfacher Form überall
häufig in Containerklassen
weiter
verwandte Muster
objektbasiertes Muster mit gleicher Motivation
aber mehr Flexibilität
weiter

Letzte Änderung: 13.04.2012
© Prof. Dr. Uwe Schmidt
Prof. Dr. Uwe Schmidt FH Wedel