piątek, 13 czerwca 2014

Wzorce projektowe #02 - Adapter

Tak, udało mi się wreszcie nakręcić kolejny tutorial z tej tematyki :) Dlaczego tak długo trzeba było czekać? Studia, sesja, nauka i tego typu wymówki... jak już się usprawiedliwiłem to przejdźmy do omówienia "Adaptera".

Idea wzorca

Adapter jest jednym ze wzorców strukturalnych, który przekształca - adaptuje jeden interfejs do drugiego. Pozwala on porozumiewać się klasom o niezgodnych, nie kompatybilnych interfejsach tworząc "przejściówkę" między nimi.
Uwaga: pisząc 'interfejs' - w odniesieniu do tego wzorca, nie muszę mieć koniecznie na myśli interfejsów javowych w sensie elementu specyfikacji języka, ale po prostu możliwości - metody jakie udostępnia jakaś klasa (choć w przykładzie, faktycznie będę posługiwał się javowymi interfejsami).

Implementacja:

Standardowo Adapter można zaimplementować na dwa sposoby - klasowy (przez dziedziczenie) i obiektowy (przez kompozycję).

Adapter klasowy: dziedziczy po klasie adaptowanej w związku z czym wszelkie zmienione, nowe, dziedziczne składowe tej klasy są w adapterze update'owane "z automatu". Niestety nie umożliwia adaptacji innych klas pochodnych klasy adaptowanej.

Adapter obiektowy: wszelkie zmiany interfejsu w klasie adaptowanej trzeba obsługiwać ręcznie, ale jest pod tym względem bardzo elastyczny. Umożliwia adaptację również klas pochodnych, klasy adaptowanej.

Tutorial:

Ja preferuję metodę obiektową, dlatego właśnie taką zobaczycie na filmiku, ale zachęcam, aby w ramach ćwiczeń spróbować również implementacji klasowej. Tymczasem zapraszam do oglądania i nauki :)


Brak komentarzy:

Prześlij komentarz