Zpo-10-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:
==Facade: struktura==
==Przykład==


[[Image:zpo-10-wyk-Slajd17.PNG|Facade: struktura]]
[[Image:zpo-10-wyk-Slajd17.PNG|Przykład]]




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.
Przekształcenie zostanie omówione na przykładzie relacji pomiędzy obiektami Książka i Kategoria. Przykład ten różni się od poprzedniego, poza kierunkiem wykonania przekształcenia, także krotnością relacji. Książka może należeć do wielu Kategorii, a każda Kategoria składa się z wielu Książek.


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.
Na początku Książka i Kategoria posiadają referencje do siebie nawzajem. Usunięta ma zostać asocjacja skierowana od Kategorii do Książki.


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ń.
Slajd ten pokazuje implementację fragmentu klasy Książka, przede wszystkim metod dodającej i usuwającej referencję do Kategorii w klasie Książka. Łatwo zauważyć algorytm dodawania i usuwania referencji do obiektu omówiony na poprzednim przykładzie.




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

Aktualna wersja na dzień 17:51, 4 lis 2006

Przykład

Przykład


Przekształcenie zostanie omówione na przykładzie relacji pomiędzy obiektami Książka i Kategoria. Przykład ten różni się od poprzedniego, poza kierunkiem wykonania przekształcenia, także krotnością relacji. Książka może należeć do wielu Kategorii, a każda Kategoria składa się z wielu Książek.

Na początku Książka i Kategoria posiadają referencje do siebie nawzajem. Usunięta ma zostać asocjacja skierowana od Kategorii do Książki.

Slajd ten pokazuje implementację fragmentu klasy Książka, przede wszystkim metod dodającej i usuwającej referencję do Kategorii w klasie Książka. Łatwo zauważyć algorytm dodawania i usuwania referencji do obiektu omówiony na poprzednim przykładzie.


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