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.