Wzorzec projektowy Metoda Szablonowa
Cel
Przenosi część algorytmu z poziomu nadklasy do podklasy w przypadku, gdy opracowanie ogólnej metody okazało się niemożliwe.
Struktura
Metoda Szablonowa - przykład
class MyApplet extends Applet{ public void paint( Graphics g ){ g.drawString(?Hallo World?, 10, 10);} }
Fragment kodu definiuje mechanizm rysowania przez przykrycie metody paint(?). Ten sam efekt można łatwo osiągnąć, przekazując appletowi (obiektowi klasy MyApplet) staregię rysowania.
Zalety:
Udostępnia puste "punkty zaczepienia" na poziomie nadklasy, aby programista mógł do niej wstawić swoją funkcjonalność za pośrednictwem odpowiednich relacji dziedziczenia.
Wady:
Stosowanie tego wzorca jest w większości przypadków nieuzasadnione, lepszym rozwiązaniem jest użycie wzorca strategii. W systemach obiektowych stosowanie mechanizmu dziedziczenia do modyfikowania zachowań nadklasy jest nie zalecane.