Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Zaawansowane metody programowania – Wykład V

Podobne prezentacje


Prezentacja na temat: "Zaawansowane metody programowania – Wykład V"— Zapis prezentacji:

1 Zaawansowane metody programowania – Wykład V
dr inż. Wojciech Tarnawski

2 Plan wykładu: Wzorce projektowe
Analiza przykładowych projektów – część „interaktywna”

3 Pojęcie wzorca projektowego
Wzorce projektowe „funkcjonują” w praktyce programistycznej od drugiej połowy lat 90. ubiegłego wieku (Design Patterns: Elements of Reusable Object-Oriented Software, E. Gamma, R. Helm, R. Johnson, J. Vlissides) W dziedzinie zwanej inżynierią oprogramowania stanowią abstrakcyjny opis zależności pomiędzy klasami ( pojęciami abstrakcyjnymi) W efekcie stosowania wzorców projektowych uzyskujemy pewną standaryzację kodu, tym samym czyniąc go bardziej zrozumiałym, efektywniejszym i mniej zawodnym

4 Klasyfikacja wzorców projektowych
Wzorce konstrukcyjne – do pozyskiwania obiektów zamiast bezpośredniego tworzenia obiektów klas (np. Dekorator, Budowniczy, Singleton) Wzorce strukturalne – pomagające łączyć obiekty w większe struktury udostępniając interfejs do ich obsługi (np. Adapter, Fasada) Wzorce czynnościowe – definiujące komunikację pomiędzy obiektami oraz kontrolujące przepływ danych w złożonej aplikacji (np. Obserwator,Strategia)

5 Wzorzec konstrukcyjny: Budowniczy
Wzorzec ten pozwala na rozdzielenie skomplikowanej struktury klasy od jej reprezentacji, dzięki czemu proces konstrukcji może tworzyć różne reprezentacje Podstawowe elementy wzorca: interfejs budowniczego do tworzenia obiektu (Builder) budowniczy konstruujący i łączący części produktu dostarczonego przez klasę, a także interfejs dostępu do budowanego produktu (Concrete Builder) kierownik konstruujący obiekt przez interfejs budowniczego (Director) konstruowany produkt (Product)

6 Wzorzec konstrukcyjny: Singleton
Singleton to klasa, która może mieć tylko jedną instancję (obiekt) class Singleton { private Singleton() { } private static Singleton S; public static Singleton getInstance() if (S == null) S = new Singleton(); return S; } Singleton a = new Singleton(); Singleton b = Singleton.getInstance(); Singleton c = Singleton.getInstance();

7 Wzorzec strukturalny: Adapter
Zadaniem tego wzorca jest przetworzenie interfejsu danej klasy w inny interfejs, którego oczekuje Klient Adapter umożliwia współpracę klasom o niekompatybilnych interfejsach

8 Wzorzec strukturalny: Fasada
Wzorzec ten jest pomyślany jako środek dostępu do złożonego systemu prezentujący na zewnątrz uproszczony lub uporządkowany interfejs programistyczny. Wzorzec ten definiuje interfejs wyższego poziomu, sprawiający, że łatwiej jest używać podsystemów.

9 Dobrym przykładem zastosowania Fasady jest aplikacja bankomatowa – od strony urządzenia (bankomat) mamy ograniczony dostęp do systemu bankowego, obsługiwany przez odpowiednie metody Model Fasady jest dwuczęściowy interfejs zewnętrzny, który wie, który z podsystemów odpowiada za konkretne zadanie i wyśle we właściwe miejsce żądanie wykonania podsystemy, przejmujące jedynie zadanie zlecone przez interfejs zewnętrzny

10 Wzorzec czynnościowy: Obserwator
Wzorzec obserwatora służy do powiadamiania wielu obiektów (obserwatorów) o zmianie w obiekcie – przedmiocie obserwacji


Pobierz ppt "Zaawansowane metody programowania – Wykład V"

Podobne prezentacje


Reklamy Google