Wzorce projektowe: Adapter
Adapter jest wzorcem, którego zadaniem jest konwersja jednego inteface’u w drugi, co pozwoli na wykorzystanie klasy adaptowanej tam, gdzie nie zostało to pierwotnie założone. Wyobraźmy sobie, że kupujemy nowy monitor. Okazuje się, że monitor ma kabel który nie pasuje do naszej karty graficznej. Pierwszym skojarzeniem jest użycie odpowiedniej ‚przejściówki’ co pozwoli na podłączenie wtyczki nowego typu do gniazda starego typu. Tak działa właśnie adapter. Przykład: Posiadamy program pilota, który steruje całym naszym sprzętem w domu m.in. telewizorem. Oto kod pilota i interfejsu telewizora:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
public class UniwersalnyPilot { Telewizor tv; //.... public void wlaczToKolorowePudlo() { tv.wlaczTelewizor(); } } public interface Telewizor { public void wlaczTelewizor(); public void wylaczTelewizor(); } |
[…]