Zpo-6-wyk-Slajd17: 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:
==Przykład(1)==
==Facade: struktura==


[[Image:zpo-6-wyk-Slajd17.PNG|Przykład(1)]]
[[Image:zpo-6-wyk-Slajd17.PNG|Facade: struktura]]




W miejscu fragmentów kodu wewnątrz oryginalnej metody umieszczane są wywołania nowoutworzonych metod naliczających odsetki dla każdego typu rachunku osobno.
W skład wzorca wchodzi klasa (lub kilka klas), stanowiących fasadę grupy podsystemów. Fasada stanowi zatem dodatkową warstwę abstrakcji w dostępie do tych podsystemów i pozwala w łatwiejszy sposób posługiwać się nimi. Należy zwrócić uwagę, że stworzenie obiektu upraszczającego protokół komunikacji z podsystemami zwykle oznacza, że jego funkcjonalność będzie niepełna i ograniczona jedynie do najpopularniejszych operacji. W praktyce takie rozwiązanie jest jednak całkowicie akceptowalne.


W efekcie przekształcenia metoda posiadająca parametr decydujący o jej zachowaniu została przekształcona w rodzinę metod pozbawionych tego parametru.
Podsystemy nie muszą posiadać wiedzy o klasie Facade, natomiast ona musi znać ich strukturę i przeznaczenie. Żądania przesyłane przez klienta fasadzie są przez nią delegowane do odpowiednich podsystemów.
 
Fasada pod względem funkcjonalnym spełnia podobne zadanie co Proxy – pośredniczy w wywoływaniu operacji na faktycznym wykonawcy usług, jednak w odróżnieniu od niego, pozwala także na bezpośrednie odwołania do podsystemów. Klient zatem ma wybór dotyczący sposobu obsługi żądań.




[[zpo-6-wyk-Slajd16 | << Poprzedni slajd]] | [[zpo-6-wyk-toc|Spis treści ]] | [[zpo-6-wyk-Slajd18 | Następny slajd >>]]
[[zpo-6-wyk-Slajd16 | << Poprzedni slajd]] | [[zpo-6-wyk-toc|Spis treści ]] | [[zpo-6-wyk-Slajd18 | Następny slajd >>]]

Aktualna wersja na dzień 11:09, 17 paź 2006

Facade: struktura

Facade: struktura


W skład wzorca wchodzi klasa (lub kilka klas), stanowiących fasadę grupy podsystemów. Fasada stanowi zatem dodatkową warstwę abstrakcji w dostępie do tych podsystemów i pozwala w łatwiejszy sposób posługiwać się nimi. Należy zwrócić uwagę, że stworzenie obiektu upraszczającego protokół komunikacji z podsystemami zwykle oznacza, że jego funkcjonalność będzie niepełna i ograniczona jedynie do najpopularniejszych operacji. W praktyce takie rozwiązanie jest jednak całkowicie akceptowalne.

Podsystemy nie muszą posiadać wiedzy o klasie Facade, natomiast ona musi znać ich strukturę i przeznaczenie. Żądania przesyłane przez klienta fasadzie są przez nią delegowane do odpowiednich podsystemów.

Fasada pod względem funkcjonalnym spełnia podobne zadanie co Proxy – pośredniczy w wywoływaniu operacji na faktycznym wykonawcy usług, jednak w odróżnieniu od niego, pozwala także na bezpośrednie odwołania do podsystemów. Klient zatem ma wybór dotyczący sposobu obsługi żądań.


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