Zpo-9-wyk-Slajd26: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Bwalter (dyskusja | edycje)
Nie podano opisu zmian
 
Bwalter (dyskusja | edycje)
Nie podano opisu zmian
 
Linia 1: Linia 1:
==Adapter: struktura==
==Przykład==


[[Image:zpo-9-wyk-Slajd26.PNG|Adapter: struktura]]
[[Image:zpo-9-wyk-Slajd26.PNG|Przykład]]




Struktura wzorca składa się z trzech podstawowych klas: Target, Adaptee oraz Adapter. Target jest interfejsem, którego oczekuje klient. Obiektem dostarczającym żądanej przez klienta funkcjonalności, ale niezgodnego pod względem typu, jest Adaptee. Rolą Adaptera, który implementuje typ Target jest związany relacją kompozycji z obiektem Adaptee, jest przetłumaczenie wywołania metody należącej do typu Target poprzez wykonanie innej metody (lub grupy metod) w klasie Adaptee. Dzięki temu klient współpracuje z obiektem Adapter o akceptowanym przez siebie interfejsie Target, jednocześnie wykorzystując funkcjonalność dostarczoną przez Adaptee.
Przykład zaczyna się od momentu zakończenia poprzedniego przekształcenia: wyrażenie jest zbudowane ze zmiennych lokalnych.
 
Alternatywna nazwa wzorca – Wrapper, która oznacza opakowanie, bardzo dobrze opisuje rolę obiektu Adapter: pełnić wobec Klienta rolę otoczki, która umożliwia przetłumaczenie jego żądań na protokół zrozumiały dla faktycznego wykonawcy poleceń.
 
Wzorzec ten posiada także wersję wykorzystującą dziedziczenie w relacji Adapter-Adaptee. Jednak wersja ta ma pewne niedogodności: powiązania między obiektami są ustalane w momencie kompilacji i nie mogą ulec zmianie; ponadto, język programowania musi umożliwiać stosowanie wielokrotnego dziedziczenia lub dziedziczenia i implementacji interfejsu (jak w przypadku języków Java i C#).




[[zpo-9-wyk-Slajd25 | << Poprzedni slajd]] | [[zpo-9-wyk-toc|Spis treści ]] | [[zpo-9-wyk-Slajd27 | Następny slajd >>]]
[[zpo-9-wyk-Slajd25 | << Poprzedni slajd]] | [[zpo-9-wyk-toc|Spis treści ]] | [[zpo-9-wyk-Slajd27 | Następny slajd >>]]

Aktualna wersja na dzień 18:05, 4 lis 2006

Przykład

Przykład


Przykład zaczyna się od momentu zakończenia poprzedniego przekształcenia: wyrażenie jest zbudowane ze zmiennych lokalnych.


<< Poprzedni slajd | Spis treści | Następny slajd >>