niedziela, 23 lutego 2014

Fasada (obiektowy)

Fasada (Facade)

Użycie:

- Służy do ujednolicenia dostępu do złożonego systemu poprzez wystawienie uproszczonego interfejsu
- uporządkowanie interfejsu programistycznego, który ułatwia jego użycie
- pozwala na odseparowanie użytkownika, który tak naprawdę nie musi wiedzieć, co się dzieje wewnątrz systemu, jedynie zleca jakieś stosunkowo proste zadania
- upraszcza pisanie aplikacji

Przykłady:

a) Aplikacja bankomatowa:

Klient podchodząc do bankomatu ma bardzo ograniczone możliwości (prawa) w porównaniu z tym co umożliwia cały system. Funkcje klienta ograniczone są jedynie np. do wpłacenie pieniędzy, sprawdzenia stanu konta, wypłacenia pieniędzy. Wszystko to, co się dzieje po tym, jak klient wybierze daną operację to już go to nie obchodzi (a dzieję się tak naprawdę bardzo dużo). Cała wewnętrzna skomplikowana struktura jest zasłonięta dla użytkownika i dany jest mu jedynie jakiś prosty interfejs. W momencie, gdy użytkownik zleci np. dokonanie wpłaty system musi nawiązać połączenie z serwerem, musi nastąpić identyfikacja, pakiet musi być odpowiednio opakowany, w celach bezpieczeństwa oraz pewności dotarcia i wiele innych skomplikowanych rzeczy się dzieję.

b) Aplikacja sieciowa :

Klient ma tylko możliwość odebrania, bądz wysłania pakietu, a pod tym jest cala otoczka tzn. ustanowienie połączenia, synchronizacja, szyfrowanie, kompresja itp.

Diagram klas:





Bibliografia:

a) Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides: Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku. Helion, 2010, s. 161-169. ISBN 978-83-246-2662-5.
b) http://pl.wikipedia.org/wiki/Fasada_(wzorzec_projektowy)

Brak komentarzy:

Prześlij komentarz