Wzorce projektowe
Transkrypt
Wzorce projektowe
WYKŁAD 3 Wzorce projektowe - klasyfikacja Uodpornianie kodu ródłowego na jego zmiany Jedn z głównych trudno ci i wyzwa jest umiej tno przewidywania zmian, które mog zosta w przyszło ci wprowadzone. Do uodpornienia kodu na zmiany stosuje si wzorce projektowe. Wzorce projektowe Mog one by u ywane do: • rozwi zywania cz sto spotykanych problemów • uodporniania kodu na zmiany Wzorce projektowe Jedn z istotnych trudno ci przy wprowadzaniu zmian s rozbudowane hierarchie dziedziczenia. Wzorce projektowe pokazuj w jaki sposób mo na ogranicza negatywny wpływ dziedziczenia na modyfikowalno kodu. Wzorce projektowe Znane s wzorce projektowe „ogólnego przeznaczenia” jak równie zworce projektowe specjalistyczne – specyficzne dla ró nych dziedzin zastosowa . Rodzaje wzorców projektowych Klasyfikacja ogólnych wzorców projektowych: • kreacyjne • strukturalne • czynno ciowe Wzorce kreacyjne - przykłady • • • • • Builder Abstract Factory Factory Method Prototype Singleton Wzorce strukturalne - przykłady • • • • • • • Adapter Decorator Facade Composite Bridge Proxy Flyweight Wzorce czynno ciowe - przykłady • • • • • • • Interpreter Iterator Chain of Responsibility Mediator Template Method Observer Visitor Wzorce czynno ciowe - przykłady • • • • Memento Command State Strategy Obja nienia: underlined – wzorce najprostsze do nauczenia si i najcz ciej u ywane italics – wzorce przydatne w case-study Wzorce projektowe - przykłady Wzorce kreacyjne: • Singleton • Builder • Abstract Factory Wzorce projektowe - przykłady Wzorce strukturalne: • Facade • Composite • Bridge Wzorce projektowe - przykłady Wzorce czynno ciowe: • Observer • Visitor • State Sposób opisywania wzorców projektowych • • • • • • • nazwa wzorca i jego kategoria przeznaczenie inne nazwy uzasadnienie stosowania stosowalno struktura uczestnicy • • • • • • współpraca konsekwencje implementacja przykłady znane zastosowania pokrewne wzorce Przestrze wzorców projektowych Rodzaj Kreacyjne Zakres Klasy Obiekty Strukturalne Czynno ciowe Factory Method Adaptor (klasy) Interpreter Template Method Builder Abstract Factory Prototype Singleton Adaptor (obiekty) Decorator Facade Composite Bridge Proxy Flyweight Iterator Chain of Responsibility Mediator Observer Visitor Memento Command State Strategy Niezmienniczo Rodzaj wzorców projektowych Wzorzec projektowy Aspekt zmienno ci Wzorzec kreacjny Builder Sposób tworzenia obiektów zło onych Abstract Factory Rodziny obiektów produktów Factory Method Podklasa tworzonego obiektu Prototype Klasa tworzonego obiektu Singleton Jedyny egzemplarz klasy Niezmienniczo Rodzaj wzorców projektowych Wzorzec projektowy Aspekt zmienno ci Wzorzec strukturalny Adaptor Interfejs obiektu Decorator Zobowiazania obiektu bez definiowania podklas Facade Interfejs podsystemu Composite Struktura i układ obiektu Bridge Implementacja obiektu Proxy Sposób dost pu do obiektu Flyweight Koszt przechowywania obiektu Rodzaj Wzorzec projektowy Aspekt zmienno ci Wzorzec czynno ciowy Interpreter Gramatyka i interpretacja j zyka Iterator Sposób dost pu i przechodzenia elementów agregatu Chain of Responsibility Obiekt, który mo e zrealizowa Mediator Jak i które obiekty oddziałuj na siebie Template Method Kroki algorytmu Observer Ilo obiektów zale cych od innego obiektu; jak zale ne obiekty utrzymuj aktualny stan Visitor Operacje, które mo na zastosowa do obiektu (obiektów) bez zmiany jego klasy (ich klas) Memento Jakie prywatne informacje s przechowywane poza obiektem i kiedy Command Warunki i sposób realizacji State Stany obiektu Strategy Algorytm danie dania