Projektowanie oprogramowania
Transkrypt
Projektowanie oprogramowania
Projektowanie oprogramowania Wykład 04 Inżynieria Oprogramowania Kazimierz Michalik Wzorce projektowe Katalog wzorców projektowych ● Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides: Inżynieria oprogramowania: Wzorce projektowe (Wyd. II). Warszawa: WNT, 2008. ISBN 978-83-204-3472-9. Wzorce projektowe ● ● ● ● nazwa wzorca problem – opisuje sposoby rozpoznawania sytuacji, w których możemy zastosować dany wzorzec oraz warunki jakie muszą zostać spełnione, by jego zastosowanie miało sens; rozwiązanie – opisuje elementy rozwiązania: ich relacje, powiązania oraz obowiązki, zawiera także wskazówki implementacyjne dla różnych technologii; konsekwencje – zestawienie wad i zalet stosowania wzorca, uwzględniające informacje o jego brakach oraz kosztach rozwoju i utrzymania systemu wykorzystującego dany wzorzec. Wzorce projektowe ● Wzorce kreacyjne ● Wzorce strukturalne ● Wzorce czynnościowe ● Wzorce współbieżności Wzorce projektowe Wzorce kreacyjne ● Budowniczy ● Fabryka abstrakcyjna ● Metoda wytwórcza (klasowy) ● Prototyp ● Singleton Budowniczy Metoda wytwórcza Fabryka abstrakcyjna Fasada Singleton Wzorce projektowe Wzorce strukturalne ● Adapter (klasowy także) ● Dekorator ● Fasada ● Kompozyt ● Most ● Pełnomocnik ● Pyłek Adapter (klasowy) Adapter Pyłek Model-View-Controller (pol. Model-Widok-Kontroler) Wzorce projektowe Wzorce czynnościowe ● Interpreter (klasowy) ● Iterator ● Łańcuch zobowiązań ● Mediator ● Metoda szablonowa ● Obserwator ● Odwiedzający ● Pamiętka ● Polecenie ● Stan ● Strategia ● RAII Strategia Obserwator Metoda szablonowa Odwiedzający Łańcuch zobowiązań Polecenie Stan Pamiątka Wzorce projektowe Wzorce współbieżności ● Aktywny obiekt, ● Asynchroniczne sterowanie przez zdarzenia, ● Udaremnianie, ● Blokada z podwójnym zatwierdzaniem, ● Ochraniane wstrzymywanie, ● Obiekt monitorujący, ● Blokada zapisu i odczytu, ● Zarządca procesów, ● Pula wątków, ● Pamięć dla wątków, ● Reaktor