Strukturalne wzorce projektowe

Slides:



Advertisements
Podobne prezentacje
Czy wiesz, że?... INTERNET …TO JEST SPIS TREŚCI NIEBEZPIECZEŃSTWO SPOŁECZNOŚĆ INTERNETOWA DZIECKO W INTERNECIE ZAUFANE STRONY INTERNETOWE WIRUSY.
Advertisements

Stężenia Określają wzajemne ilości substancji wymieszanych ze sobą. Gdy substancje tworzą jednolite fazy to nazywa się je roztworami (np. roztwór cukru.
OPERATORZY LOGISTYCZNI 3 PL I 4PL NA TLE RYNKU TSL Prof. zw.dr hab. Włodzimierz Rydzkowski Uniwersytet Gdańsk, Katedra Polityki Transportowej.
Wyszukiwanie informacji w Internecie. Czym jest wyszukiwarka? INTERNET ZASOBY ZAINDEKSOWANE PRZEZ WYSZUKIWARKI Wyszukiwarka to mechanizm, który za pomocą.
Przemiany energii w ruchu harmonicznym. Rezonans mechaniczny Wyk. Agata Niezgoda Projekt współfinansowany przez Unię Europejską w ramach Europejskiego.
EWALUACJA PROJEKTU WSPÓŁFINANSOWANEGO ZE ŚRODKÓW UNII EUROPEJSKIE J „Wyrównywanie dysproporcji w dostępie do przedszkoli dzieci z terenów wiejskich, w.
ZABRZAŃSKI RYNEK PRACY – FORMY AKTYWIZACJI OSÓB BEZROBOTNYCH I POSZUKUJĄCYCH PRACY Zabrze, Powiatowy Urząd Pracy w Zabrzu.
Czyli Jędrki, Emki i Zuźki. Każdy człowiek ma w sobie wielkie możliwości, musi je tylko odkryć !
INNOWACJE I PATENTY Innowacje i nowe technologie - przykład - Gepardy Biznesu Spotkania lokalne organizowane są w ramach projektu systemowego Urzędu Marszałkowskiego.
Wzorce projektowe w C++ WWW: Jacek Matulewski Instytut Fizyki, UMK WWW:
Opodatkowanie spółek Podziały Spółek. Podziały spółek Rodzaje podziałów wg KSH Przewidziane są cztery sposoby podziału: 1) podział przez przejęcie, który.
KARTY RATOWNICZE W POLSCE
Wyższa Szkoła Informatyki i Zarządzania w Bielsku-Białej Wydział Informatyki Kierunek: Informatyka Specjalność: Systemy Informatyczne PRACA DYPLOMOWA INŻYNIERSKA.
Dzieci i szkolnictwo w Mali. Warunki życia dzieci Jednym z największych problemów w kraju jest bardzo wysoki współczynnik umieralności dzieci do 5. roku.
FIRMA MASZ DOŚĆ NUDY W ZESZYCIE? NIE WIESZ JAK WYRAZIĆ SIEBIE? NIE WIESZ JAK WYRAZIĆ SIEBIE? A MOŻE CHCESZ ZAREKLAMOWAC WŁASNĄ DZIAŁALNOŚĆ? MAMY NAKLEJKI.
Python. Języki Programistyczne Microcode Machine code Assembly Language (symboliczna reprezentacja machine code) Low-level Programming Language (FORTRAN,
Wieloaspektowa analiza czasowo- kosztowa projektów ze szczególnym uwzględnieniem kryterium jakości rozwiązań projektowych AUTOR: ANNA MARCINKOWSKA PROMOTOR:
I Liceum Ogólnokształcące im. Ziemi Kujawskiej we Włocławku.
Bezpieczeństwo przy pracy z ciekłym azotem
NAJCZĘSTSZYCH CHORÓB UKŁADU KRĄŻENA 5. Nadciśnienie tętnicze.
Usługa ePodatki (MF) Michał Dobrzyński, Departament Informatyki MRPiPS tel
Inżynieria oprogramowania Wzorce strukturalne WWW: Jacek Matulewski Instytut Fizyki, UMK.
Moduł SDI – zasilanie węzłów IIP oraz wykorzystanie danych. Wprowadzenie. Szkolenie przeprowadzone w ramach projektu „TERYT 3 – Rozbudowa systemów do prowadzenia.
System operacyjny Renata P. System operacyjny - jest to zbiór nadrzędnych i niezbędnych programów umożliwiających pracę na komputerze. Jest on pośrednikiem.
Symulacja halo dla wiązki protonów w akceleratorze LHC
Dziedziczenie, polimorfizm, Interfejsy
Narodzie pomóż przyrodzie!
BANKOWOŚĆ ELEKTRONICZNA Metoda wzorca rozwoju Hellwiga – przykład
Ucz i ucz się z TIK!.
Temat: Jesteśmy sobie potrzebni – słów kilka o bioróżnorodności.
Lokalne źródła prawa – zarys
Komunikacja ze szkołą i nauczycielami - dziennik elektroniczny
Schematy blokowe.
Przejście zakładu pracy na innego pracodawcę
On-the-Fly Garbage Collection
E- SKARGA Formalne wymogi wniesienia skargi do WSA w kontekście informatyzacji postępowania sądowoadministracyjnego- wybrane zagadnienia.
PRAKTYKA ROZWOJU EKSPORTU
ZASADY PRAWIDŁOWEGO TWORZENIA PISM
Liczby pierwsze.
FIGURY.
Quick Tips Tutorial Jak uzyskać dostęp do raportów EBSCOhost i EBSCO Discovery Service w EBSCOadmin support.ebsco.com.
ALGORYTMY I STRUKTURY DANYCH
Akademia C# lab. 9 Zdarzenia i delegaty.
VI LO w ZSO im AK w Bielsku-Białej
Przewodnik Udoskonalanie listy wyników w wyszukiwarce naukowej
Tytuł – [najlepiej aby jak najtrafniej oddawał opisywane rozwiązanie]
Wykorzystanie aplikacji użytkowych do przeprowadzenia cyberataku
Tworzenie tabel przestawnych
PROGRAMY DO KONTROLI RODZICIELSKIEJ
Moduł G Marketing w procesie tworzenia wartości
Git - system kontroli wersji
Języki programowania.
Pośrednictwo w Obrocie Nieruchomościami
Jak dostosować witrynę internetową usługi Microsoft SharePoint Online
Jeśli miałbyś umrzeć przede pierwszy...
The Game Engine For Mobile
Tornister Warto zauważyć, że problem przeciążonych tornistrów szkolnych wynika  z kilku przyczyn: - Dzieci często noszą w plecakach więcej podręczników.
Rozwój współpracy pomiędzy sektorem badawczo-naukowym a biznesem na przykładzie Projektu: GUM
Zmiany w ustawie o systemie oświaty
Damian Urbańczyk xHTML Tworzenie stylów CSS.
SYSTEM KONTROLI FREKWENCJI
Podstawy informatyki Zygfryd Głowacz.
Alternatywny slajd początkowy – logo bez animacji
Tytuł – [najlepiej aby jak najtrafniej oddawał opisywane rozwiązanie]
Implementacja rekurencji w języku Haskell
Modelowanie obiektowe - system zarządzania projektami
Nasza działalność KLAVO to firma zajmująca się dostarczaniem usług dla instytucji kultury. Chcemy, aby zwiększały one jakość obsługi zwiedzających. Celem.
Negocjacje - Cień przyszłości
Autor: Magdalena Linowiecka
Nasza działalność Nasz zespół Z kim współpracujemy
Zapis prezentacji:

Strukturalne wzorce projektowe 2019-02-17 Strukturalne wzorce projektowe 17 lutego 2019 Jakub Kosowicz

Wzorce strukturalne Wzorce strukturalne opisują łącznia klas obiektów w większe struktury. Wzorce klas i obiektów różnią się tym, że wzorzec klasy opisuje jak dziedziczenie może być używane w celu dostarczenia bardziej użytecznych interfejsów programistycznych, a wzorzec obiektu opisuje jak obiekty mogą być łączone w większe struktury poprzez zawieranie się jednych obiektów w innych. 17 lutego 2019 Jakub Kosowicz

Rodzaje wzorców Adapter Bride (most) Facade (fasada) Proxy (pośrednik) Flyweight (waga piórkowa) Composite (kompozyt) 17 lutego 2019 Jakub Kosowicz

Adapter Wzorzec Adapter konwertuje interfejs jednej klasy na interfejs innej klasy. Używamy tego wzorca, jeśli chcemy, żeby dwie niezwiązane ze sobą klasy współpracowały ze sobą w jednym projekcie. Istnieją dwa sposoby realizacji : poprzez dziedziczenie i kompozycję. Pierwsza metoda opiera się na tworzeniu klasy pochodnej a druga na tworzeniu klasy wewnętrznej. 17 lutego 2019 Jakub Kosowicz

Adapter - diagram klas Target – definiuje interfejs którego używa klient Adapter – adoptuje interfejs Adaptee do interfejsu Target Adaptee – definiuje istniejący interfejs który trzeba zaadoptować 17 lutego 2019 Jakub Kosowicz

Bridge (most) Wzorzec Bridge może w pierwszym momencie wydawać się podobny do wzorca Adapter. Jest to również klasa konwertująca jeden rodzaj interfejsu na inny. Przeznaczeniem adaptera jest stworzenie interfejsu dla istniejącej klasy tak aby wyglądał na interfejs innej klasy. Wzorzec Bridge odseparowuje interfejs od jego implementacji. Dzięki temu można zmieniać implementację bez potrzeby modyfikacji kodu w programie. 17 lutego 2019 Jakub Kosowicz

Bridge – diagram klas Abstraction – abstrakcyjny interfejs z którego korzystają klasy impl. Implementor – definiuje interfejs klasy implementującej ConcreteImplemetor – klasy implementujące RefinedAbstraction – rozszerzenie klasy Abstraction 17 lutego 2019 Jakub Kosowicz

Facade (fasada) Wzorzec ten służy do obudowywania zboru złożonych klas i dostarcza dla nich prostszego interfejsu. Fasada pozwala uprościć złożoność wynikającą z wielu skomplikowanych interfejsów w podsystemach ale takie uproszczenie często zmniejsza elastyczność pokrywanych klas. 17 lutego 2019 Jakub Kosowicz

Facade – diagram klas 17 lutego 2019 Jakub Kosowicz

Proxy (pośrednik) Wzorzec Proxy wykorzystywany jest do reprezentowania skomplikowanego obiektu lub obiektu którego wytworzenie wymaga dużego nakładu pracy. Jeśli tworzenie obiektu jest czasochłonne i zasobnochłonne, Proxy pozwala odłożyć akt tworzenia tego obiektu na czas w który obiekt będzie rzeczywiście potrzebny;. Proxy posiada takie same metody jak pełny obiekt który reprezentuje. 17 lutego 2019 Jakub Kosowicz

Proxy – diagram klas Proxy – m.in. kontroluje dostęp do RealSubject, odpowiada za jego tworzenie i kasowanie Subject – interfejs dla prawdziwego obiektu i Proxy RealSubject – definiuje prawdziwy obiekt który Proxy reprezentuje 17 lutego 2019 Jakub Kosowicz

Flyweight (waga piórkowa) Wzorzec Flyweight pozwala uniknąć dużej liczby klas. Jeśli musimy utworzyć dużą liczbę instancji małych klas reprezentujących dane, można znacząco zredukować liczbę instancji jeśli podstawy są takie same.Dany wzorzec dostarcza metody pozwalającej na obsługę takich klas. Definiowany jest podział nadane wewnętrzne, będące częścią instancji i zewnętrzne przekazywane jako parametry. 17 lutego 2019 Jakub Kosowicz

Flyweight – diagram klas 17 lutego 2019 Jakub Kosowicz

Flyweight – diagram klas FlyweightFactory – tworzy i zarządza obiektami Flywight Client – zachowuje referencje do Flyweight Flyweight – deklaruje interfejs ConcreteFlyweight – implementuje interfejs Flyweight UnsharedConcreteFlyweight – nieużywany – nie każda podklasa musi być udostępniana 17 lutego 2019 Jakub Kosowicz

Composite (kompozyt) Wzorzec kompozytu pozwala na jednolite traktowanie komponentów i obiektów z nich złożonych poprzez specyfikację ich wspólnego interfejsu. 17 lutego 2019 Jakub Kosowicz

Composite – diagram klas Component – definiuje interfejs dla obiektów (zarządzanie i dostęp) Leaf – reprezentuje „liście” Composite – definiuje obiekty mające „dzieci 17 lutego 2019 Jakub Kosowicz