Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

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

Podobne prezentacje


Prezentacja na temat: "Zaawansowane metody programowania – Wykład V dr inż. Wojciech Tarnawski"— Zapis prezentacji:

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

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

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 czynnościowe – definiujące komunikację pomiędzy obiektami oraz kontrolujące przepływ danych w złożonej aplikacji (np. Obserwator,Strategia) 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)

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 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(); Wzorzec konstrukcyjny: Singleton

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

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 obserwatora służy do powiadamiania wielu obiektów (obserwatorów) o zmianie w obiekcie – przedmiocie obserwacji Wzorzec czynnościowy: Obserwator


Pobierz ppt "Zaawansowane metody programowania – Wykład V dr inż. Wojciech Tarnawski"

Podobne prezentacje


Reklamy Google