facade.docx

(103 KB) Pobierz

 

1. Czym są wzorce projektowe.

Wzorce projektowe to reużywalne, standardowe rozwiązanie zagadnienia/problemu informatycznego, które może pojawić się w procesie wytwarzania/implementacji oprogramowania.

 

Wzorzec projektowy jest:

 

Reużywalny – w takiej samej postaci może zostać wielokrotnie zastosowany do rozwiązywania problemu bez względu na dziedzinę projektu/oprogramowania

Sprawdzony – przydatność wzorca potwierdzona doświadczeniem nabytym poprzez jego zastosowanie w wielu projektach informatycznych – optymalne rozwiązanie danego zagadnienia

Powszechnie znany – ułatwia wymianę informacji i zwiększa czytelność kodu

 

Facade należy do wzorców strukturalnych które dotyczą sposobów tworzenia większych struktur za pomocą kompozycji obiektów.

Facade to uproszczenie dostępu do zbioru wzajemnie powiązanych obiektów poprzez jeden wspólny obiekt. Obiekt ten wykorzystywany jest przez wszystkie inne zewnętrzne obiekty do komunikacji ze zbiorem obiektów „ukrytych” za fasadą.

 



2. Zastosowanie wzorca projektowego w modelowaniu oprogramowania

 

Przykład wzorca – w Java wzorzec ten jest używany do obudowywania zbioru złożonych klas i dostarcza dla nich prostszego interfejsu.

 

Klasy obsługujące bazy danych z pakietu java.sql stanowią doskonały przykład niskopoziomowych klas, które komunikują się ze sobą w bardzo zawiły sposób



 

- Do połączenia z baza danych wykorzystywana jest instancja klasy Connetion.

- Do określania nazw tabel bazy danych i ich pól korzysta sie z klasy DatabaseMetadata poprzez klasę Connetion.

- Do konstruowania zapytań w języku SQL, wykorzystuje się klasę Statement.

- Poprzez wykonanie zapytania (klasa Statement) otrzymuje się wynik — obiekt klasy ResultSet.

- Do określenia nazw kolumn trzeba jeszcze uzyskać instancje klasy ResultSet Metadata.

 

Operowanie wszystkimi tymi klasami może być bardzo trudne, większość wywołań może zwracać wyjątki, przez co kod jest bardzo zagmatwany.

 

Poprzez zbudowanie fasady składającej się z klasy DataBase i klasy Results, możemy zbudować łatwiejszy w użyciu system.



W ten sposób Fasada zakrywa wiele klas pakietu java.sql

             

Problem:

Brak jednolitej strategii dostępu dla klienta – może korzystać z fasady              lub bezpośrednio z podsystemów

 

3. Uniwersalność wzorców analizy - rozważenie przydatności wzorca w modelowaniu rzeczywistości (gdzie jeszcze wzorzec może zostać wykorzystany)

Można go stosować w projektowaniu prawie wszystkich systemów informatycznych

 

4. Zalety stosowania wzorca w procesie tworzenia oprogramowania

-        Dostarczenie jednorodnego interfejsu wyższego poziomu do zbioru różnych interfejsów w systemie,

-        Ukrycie złożoności podsystemów przed klientem,

-        Odseparowanie klienta od podsystemów

-        Łatwiejsze korzystanie z podsystemów,

-        Niższe koszty pielęgnacji podsystemów

-        Możliwość wymiany/rozbudowy podsystemów

 

5. Wady stosowania wzorca w procesie tworzenia oprogramowania

-        Stosowanie Fascade może czasami zmniejszyć elastyczność przykrywanych klas,

-        Funkcjonalność systemu może być być niepełna i ograniczona jedynie do najpopularniejszych operacji,

-        Klient może odwołać się do obiektu Facade lub bezpośrednio do podsystemów

 

6. Wnioski

Wzorzec Facade izoluje klienta od skomplikowanych komponentów podsystemów i dostarcza do nich prostszy interfejs do ogólnego użytku. Jednak nie ogranicza zaawansowanemu użytkownikowi dostępu do złożonych klas znajdujących się głębiej. Dodatkowo Facade umożliwia dokonywanie zmian w przykrywanych podsystemach bez potrzeby modyfikacji kodu klienta i redukuje liczbę zależności podczas kompilacji. Użytkownik ma możliwość wyboru czy posługiwać się fasadą czy bezpośrednio korzystać z podsystemów.

Zgłoś jeśli naruszono regulamin