problem w określonym kontekście siły istotę jego rozwiązania

Podobne dokumenty
Wzorce projektowe ArrayList. Aplikacja i zdarzenia. Paweł Chodkiewicz

Testowanie oprogramowania Wzorce projektowe

Problemy projektowania obiektowego. Czy podobne problemy można rozwiązywac w podobny sposób?

WZORCE PROJEKTOWE (I) (DESIGN PATTERNS)

Zaawansowane programowanie w C++ (PCP)

Bartosz Walter. InŜynieria oprogramowania. Wzorce projektowe. Prowadzący: Bartosz Walter. Wzorce projektowe 1

Wypożyczalnia VIDEO. Technologie obiektowe

Wzorce projektowe. dr inż. Marcin Pietroo

Wzorce projektowe cz. I. Wzorce projektowe cz. I 1/33

Wstęp [2/2] Wbrew częstemu przekonaniu, nie są one gotowymi rozwiązaniami, to tylko półprodukty rozwiązania.

Wprowadzenie do programowania aplikacji mobilnych

Programowanie obiektowe

1) Wzorzec projektowy Adapter. Zastosowanie:

Projektowanie obiektowe Wzorce projektowe. Gang of Four Wzorce odpowiedzialności

Wzorce projektowe Michał Węgorek

Projektowanie obiektowe oprogramowania Wykład 5 wzorce strukturalne Wiktor Zychla 2016

Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Projektowanie obiektowe Wzorce projektowe

Wzorce projektowe. dr inż. Marcin Pietroo

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton

Projektowanie oprogramowania: wzorce architektoniczne i projektowe

Modelowanie i Programowanie Obiektowe

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Programowanie obiektowe

Projektowanie obiektowe Wzorce projektowe. Gang of Four Strukturalne wzorce projektowe (Wzorce interfejsów)

Projektowanie obiektowe Wzorce projektowe. Wprowadzenie do wzorców projektowych

Projektowanie obiektowe Wzorce projektowe. Gang of Four Wzorce rozszerzeń

Wzorce projektowe. dr inż. Marcin Pietroo

Wzorce Strukturalne. Adapter: opis. Tomasz Borzyszkowski

Programowanie obiektowe

Wykład 1 Inżynieria Oprogramowania

Analiza i projektowanie obiektowe 2016/2017. Wykład 11: Zaawansowane wzorce projektowe (1)

Projektowanie obiektowe oprogramowania Wykład 4 wzorce projektowe cz.i. wzorce podstawowe i kreacyjne Wiktor Zychla 2017

Omówienie wzorców wykorzystywanych w Prism 5.0. Dominika Różycka

12) Wadą modelu kaskadowego jest: Zagadnienia obowiązujące na egzaminie z inżynierii oprogramowania: 13) Wadą modelu opartego na prototypowaniu jest:

Projektowanie logiki aplikacji

Technologie obiektowe

Modelowanie. Wykład 1: Wprowadzenie do Modelowania i języka UML. Anna Kulig

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2

Wzorce oprogramowania Gof (cd) zastosowane w modelu obiektowym

Projektowanie obiektowe oprogramowania Wykład 4 wzorce projektowe cz.i. wzorce podstawowe i kreacyjne Wiktor Zychla 2015

Świat rzeczywisty i jego model

Zaawansowane programowanie obiektowe - wykład 5

UML cz. II. UML cz. II 1/38

Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1

Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017

Wzorce projektowe. Wstęp

Podstawy programowania III WYKŁAD 4

Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Wzorce projektowe cz. II. Wzorce projektowe cz. II 1/35

Podstawy Programowania Obiektowego

Builder (budowniczy) Cel: Przykład:

PRZEWODNIK PO PRZEDMIOCIE

Zagadnienia (1/3) Data-flow diagramy przepływów danych ERD diagramy związków encji Diagramy obiektowe w UML (ang. Unified Modeling Language)

Podstawy projektowania systemów komputerowych

Wykorzystanie standardów serii ISO oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych

Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 1

Modelowanie obiektowe

Programowanie obiektowe

UML w Visual Studio. Michał Ciećwierz

Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas

Wykład 3 Wymagania. MIS n Inżynieria oprogramowania Październik Kazimierz Michalik Akademia Górniczo-Hutnicza im. S. Staszica w Krakowie

Programowanie Zespołowe

Wzorce projektowe [ wstęp ]

UML [ Unified Modeling Language ]

Język UML w modelowaniu systemów informatycznych

Wzorce projektowe. dr Jarosław Skaruz

Wykład I. Wprowadzenie do baz danych

Perspektywa obiektowości

Analiza i projektowanie obiektowe w UML Kod przedmiotu

TECHNOLOGIE OBIEKTOWE WYKŁAD 2. Anna Mroczek


Programowanie i projektowanie obiektowe

Programowanie w języku Java WYKŁAD

Charakterystyka oprogramowania obiektowego

Projekt Spaghetti. Wykorzystanie podejścia obiektowego w zarządzaniu projektami. Katedra Badań Operacyjnych

Projektowanie systemów informatycznych. Roman Simiński siminskionline.pl. Modelowanie danych Diagramy ERD

Programowanie obiektowe - 1.

Wzorce projektowe i refaktoryzacja

Język programowania. Andrzej Bobyk

WYKŁAD 12. Wzorce projektowe czynnociowe State Mediator

SOA Web Services in Java

Projektowanie Graficznych Interfejsów Użytkownika Robert Szmurło

Programowanie obiektowe

Analiza i projektowanie obiektowe 2017/2018. Wykład 3: Model wiedzy dziedzinowej

Projektowanie obiektowe. Roman Simiński Wzorce projektowe Wybrane wzorce strukturalne

ZARZĄDZANIU. Wykład VI. dr Jan Kazimirski

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów niestacjonarnych studiów II stopnia)

Mariusz Trzaska Modelowanie i implementacja systemów informatycznych

WZORCE LOGIKI APLIKACJI Reużywalne składniki wymagań

Diagram klas UML jest statycznym diagramem, przedstawiającym strukturę aplikacji bądź systemu w paradygmacie programowania obiektowego.

Historia modeli programowania

Wykład 4. Projektowanie. MIS n Inżynieria oprogramowania Październik 2014

TEMAT : KLASY DZIEDZICZENIE

Modelowanie diagramów klas w języku UML. Łukasz Gorzel @stud.umk.pl 7 marca 2014

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

Transkrypt:

Wzorzec projektowy Christopher Alexander: Wzorzec to sprawdzona koncepcja, która opisuje problem powtarzający się wielokrotnie w określonym kontekście, działające na niego siły, oraz podaje istotę jego rozwiązania w sposób abstrakcyjny

Atrybuty wzorca układ sił działających na niego czyli środowisko i jego wpływ rozwiązanie schemat konstrukcji, która uwzględnia działające siły, równoważy je i oferuje najlepsze osiągnięcie celu przy założonych czynnikach kontekst - opis warunków, w których rozwiązanie można zastosować

Wzorzec w architekturze Czy zbudować most, opierając przęsło na kolejnych filarach połączonych łukiem, tak aby łuk usztywniał przęsło, stanowiąc jego podparcie na całej długości przęsła, czy też mocując przęsło z obu stron za pomocą lin stalowych o kolejno coraz krótszych długościach do pylonów umieszczonych pośrodku długości mostu? Czy zbudować most łukowy czy podwieszany?

Banda czterech (1994) E. Gamma R. Helm R.Johnson J.Vlissides 24 wzorce wzorce projektowe dotyczące konstrukcji, struktury i zachowania obiektów w systemach informatycznych

Wzorzec projektowy identyfikuje i opisuje pewną abstrakcję, której poziom znajduje się powyżej poziomu abstrakcji pojedynczej klasy, instancji lub komponentu.

Wzorce w inżynierii oprogramowania wzorce architektoniczne poziom integracji komponentów wzorce projektowe poziom interakcji między klasami wzorce analityczne poziom opisu rzeczywistości wzorce implementacyjne poziom języka programowania

Kategorie wzorców Kreacyjne opisują elastyczne sposoby tworzenia obiektów uniezależniają system od sposobu tworzenia obiektów Strukturalne opisują sposób konstrukcji struktur obiektowych korzystają z dziedziczenia i delegacji Behawioralne opisują algorytmy i przydział odpowiedzialności charakteryzują sposób interakcji między obiektami

Atrybuty wzorca nazwa lakoniczny opis istoty wzorca klasyfikacja kategoria, do której wzorzec należy cel przeznaczenie wzorca aliasy alternatywne nazwy wzorca motywacja scenariusz opisujący problem i rozwiązanie zastosowania sytuacje, w których wzorzec jest stosowany struktura graficzna reprezentacja klas składowych wzorca

Atrybuty wzorca uczestnicy nazwy i zakres odpowiedzialności uczestników wzorca współdziałania opis współpracy między uczestnikami konsekwencje efekty zastosowania wzorca implementacja opis implementacji wzorca w danym języku przykład kod stosujący wzorzec pokrewne wzorce wzorce używane w podobnym kontekście

Wzorzec Composite Struktura drzewiasta Przykład: katalog rzeczowy w bibliotece

Wzorzec Composite -uczestnicy Kompozyt obiekt złożony z innych komponentów deklaruje wspólny interfejs dla obiektów znajdujących się w strukturze implementuje wspólną funkcjonalność wszystkich obiektów Komponent - dowolny element struktury, który można przeszukiwać, reprezentuje węzeł z potomkami Liść - obiekt, który nie posiada obiektów zależnych, reprezentuje węzeł bez potomków

Konsekwencje Composite Elastyczna definicja struktur drzewiastych Proste dodawanie nowych komponentów Proste i spójne zarządzanie strukturą o dowolnej liczbie elementów

Wzorzec State Delegacja - podział odpowiedzialności między sam obiekt i jego typ Przykład: karty czytelnika junior, standard, senior Uczestnicy: Kontekst - posiada referencję do obiektu reprezentującego bieżący stan Stan abstrakcyjny definiuje interfejs pozwalający hermetyzować zachowanie związane z każdym stanem Stan konkretny definiuje własne metody implementujące zachowanie specyficzne dla tego stanu

Uczestnicy Wzorzec Pool of Objects Pula obiektów definiuje punkt dostępu do obiektów zarządza cyklem życia obiektów Obiekt definiuje swój cykl życia może być powtórnie wykorzystany Np. lista książek. Klient (w tym przypadku Czytelnik) otrzymuje obiekty klasy Książka wyłącznie za pośrednictwem Zarządcy. Wzorzec nie do końca pasuje, gdyż nadaje się tylko do obiektów nierozróżnialnych.

Wzorzec Flyweight Istotą wzorca jest podział danych przechowywanych w Obiektach na dane wewnętrzne (współdzielone) i zewnętrzne (unikatowe dla każdego obiektu). Dane wewnętrzne nie są modyfikowane przy inicjacji obiektu, natomiast dane zewnętrzne są dostarczane dla każdego obiektu z zewnątrz przed przekazaniem obiektu Klientowi.

Uczestnicy Flyweight Obiekt podlega współdzieleniu między klientów definiuje interfejs do przyjmowania i odtwarzania stanu zewnętrznego obiektu przechowuje stan wewnętrzny (współdzielony) jest niezależny od kontekstu (z wyjątkiem stanu zewnętrznego) Fabryka obiektów tworzy i przechowuje obiekty

Wzorzec Observer Podmiot utrzymuje rejestr Obserwatorów umożliwia dołączanie i odłączanie Obserwatorów powiadamia Obserwatory o zmianie swojego stanu Obserwator posiada interfejs służący do powiadamiania o zmianach aktualizuje swój stan na podstawie powiadomienia Przykład: newsletter, powiadamianie o dostępności zarezerwowanej książki