WYKŁAD 9. Wzorce projektowe czynnociowe Observer Visitor
|
|
- Szymon Mazur
- 5 lat temu
- Przeglądów:
Transkrypt
1 WYKŁAD 9 Wzorce projektowe czynnociowe Observer Visitor
2 Behavioral Design Pattern: Observer [obj] Okrela relacj jeden-do-wielu midzy obiektami. Gdy jeden z obiektów zmienia stan, wszystkie obiekty zalene od niego s o tym automatycznie powiadamiane i uaktualniane. Inne nazwy: Publish-Subscribe, Dependents
3 Uzasadnienie: Czsto mamy do czynienia z koniecznoci zaprezentowania danych z jedngo obiektu w innych obiektach na róne sposoby. Zalezy nam te na tym aby obiekty prezentacji nie wiedziały o sobie nawzajem, ale jednoczenie eby zachowywały si tak jakby o sobie wiedziały.
4 Dobrym przykładem jest tu prezentowanie obiektu danych za pomoc zarówno arkusza kalkulacyjnego jak i wykresu słupkowego. Niezalenie od tego gdzie zostanie wprowadzona zmiana stanie si ona od razu widoczna we wszystkich pozostałych obiektach.
5
6 Obiekty obserwowany i obserwator komunikuj si nawzajem. Gdy obserwowany zmienia stan s o tym informowani wszyscy obserwatorzy. W wyniku tego kady obserwator pyta obserwowanego o aktualny stan aby zsynchronizowa z nim swój własny stan.
7 Stosowalno: gdy jaka abstrakcja ma dwa aspekty, jeden zaleny od drugiego (np. widok od danych); kapsułkowanie tych aspektów w oddzielnych obiektach umoliwia niezalene zmienianie i uywanie tych obiektów w czasie wykonania zmiana jednego obiektu wymaga zmiany innych i nie wiadomo ile obiketów trzeba zmieni obiekt powinien by w stanie powiadamia inne obiekty nie przyjmujc adnych załoe co do tego co te obiekty reprezentuj (eliminacja cisłego powizania obiektów) Struktura:
8
9 Uczestnicy: Obserwowany zna swoich obserwatorów (dowoln ilo) zapewnia interfejs dołczania i odłczania obserwatorów Obserwator definiuje interfejs uaktualniania dla obiektów, które powinny by powiadamiane o zmianach, jakie zaszły w obserwowanym
10 ObserwowanyKonkretny przechowuje stan, który interesuje obiekty ObserwatorKonkretny gdy zmienia si jego stan, wysyła powiadomienia do swoich obserwatorów ObserwatorKonkretny utrzymuje odwołanie do obiketu ObserwowanyKonkretny przechowuje stan, który powinien by spójny ze stanem obserwowanego implementuje interfejs obserwatora słucy do uaktualniania, eby zachowa spójno swojego stanu ze stanem obserwowanego
11 Współpraca: ObserwowanyKonkretny zawsze powiadamia swoich obserwatorów, gdy wystpi zmiana, która moe rozsynchronizowa stany. Po otrzymaniu powiadomienia o zmianie, która wystpiła w ObserwowanymKonkretnym, ObserwatorKonkretny moe zapyta go o informacje dotyczce tej zmiany. ObserwatorKonkretny uywa tych informacji do uaktualniania swojego stanu na podstawie stanu obserwowanego.
12 obserwowanykonkretny obserwat orkonkret ny innyobserwatorkonkretny 1: UstawStan() 2: Powiadom() 3: Uaktualnij() 4: PodajStan() 5: Uaktualnij() 6: PodajStan()
13 Naley zwróci uwag na fakt, e obiekt Obserwator, który zainicjował zmian czeka z aktualizacj swojego stanu a do otrzymania powiadomienia od Obserwowanego. Operacja Powiadom nie musi by wołana przez Obserwowanego.
14 Konsekwencje: niezalene zmienianie obserwatorów i obserwowanych moliwo ponownego wykorzystania obserwatorów bez obserwowanego i na odwrót dodawanie obserwatorów bez modyfikowania obserwatorów ani obserwowanego
15 abstrakcyjne powiznie midzy Obserwowanym a Obserwatorem mog by w rónych warstwach aplikacji wsparcie dla rozsyłania komunikatów moliwo usuwania obserwatorów w czasie wykonania nieoczekiwane uaktualnienia obserwatorzy mog nie zdawa sobie sprawy jak lawin komunikatów mog spowodowa przez uaktualnianie obserwatora
16 Implementacja: odwzorowywanie obserwowanych na obserwatorów hash-table obserwowanie wicej ni jednego obserwowanego w celu rozrónienia obserwowany moe przekaza siebie który uczestnik doprowadza do uaktualnienia operacje wyznaczajce stan obserwowanego wołaj Powiadom() zaraz po zmianie stanu klienci odpowiadaj za wołanie Powiadom()
17 zawieszone odwołania do usunitych obserwowanych powiadamianie o usuwaniu aby usun odwołania u obserwatorów zapewnienie, e przed rozesłaniem powiadomienia stan obserwowanego jest spójny aby tego unikn mona wysyła powiadomienie z TemplateMethod w klasach abstrakcyjnych Obserwowanego
18 unikanie protokołów uaktualniania specyficznych dla obserwatora: modele pchajcy (obserwowany wysyła szczegółow informacj o zmianie) i cigncy (obserwatorzy pytaj o interesujce ich szczegóły; wiksze ponowne uycie, ale mniejsza efektywno) jawne specyfikowanie modyfikacji wartych uwagi róni obserwatorzy mog by zainteresowani rónymi zmianami, wtedy rejestruj si wraz ze swoim aspektem
19 kapsułkowanie złoonej semantyki uaktualnie klasa ZarzdcaZmian łczenie klas Obserwowany i Obserwator wspólny interfejs dla obu klas w jzykach bez wielodziedziczenia, wtdy obiekt implementujcy ten interfejs moe działa w kadej z ról
20 Przykłady Zastosowania Pokrewne wzorce: Mediator kapsułkujc złoon sematyk zmian klasa ZarzdcaZmian działa jako Mediator midzy obserwatorami a obserwowanymi Singleton klasa ZarzdcaZmian moe by Singletonem
21 Behavioral Design Pattern: Visitor [obj] Okrela operacj, któa ma by wykonana na elementach struktury obiektowej. Umoliwia definiowanie nowej operacji bez modyfikowania klas elementów, na których ona działa.
22 Uzasadnienie: Przykładem jest kompilator, który reprezentuje programy w postaci drzew składni abstrakcyjnej. Musi on przeprowadza analiz semantyczn (np. sprawdza czy wszystkie zmienne s zdefiniowane). Musi take generowa kod. Na takim drzewie moemy wykonywa cały szereg operacji. Operacje te powinny inaczej traktowa wzły reprezentujce instrukcje, inaczej wzły reprezentujce zmienne, wyraenia arytmtyczne Bd wic dla nich osobne klasy. Zbiór tych klas zaley od jzyka programowania, ale słabo.
23
24 Teraz chodzi nam o to, aby mona było umieszcza nowe operacje bez koniecznoci modyfikowania całej hierarchii i bez umieszczania w klasach kodu, który zajmuje si zupełnie rónymi zagadnieniami (np. generowanie kodu, ładne drukowanie kodu) w ten sposób kompilator bdzie ułatwiał wprowadzanie zmian.
25 Osigniemy te cele jeli wszystkie te operacje wyprowadzimy poza hierarchi umieszczajc je w osobnych klasach. Obiekty tych osobnych klas nosz nazw odwiedzajcych. Odwiedzajcych mona przekaza do elementów hierarchii. W momencie przekazania odwiedzajcego element hierarchii moe przekaza samego siebie do odwiedzajcego, który wykona na nim operacj. T operacj, która dawniej znajdowała si w elemencie hierarchii.
26
27 W ywniku zastosowania tego wzorca otrzymujemy dwie hierarchie klas jedn dla wzłów i drug dla odwiedzajcych. Nowe operacje tworzymy przez dodawanie nowych podklas w hierarchii odwiedzajcych. Dopóki nie zmieni si hierarchia wzłów moemy dodawa w ten sposób nowe operacje.
28 Stosowalno: struktura obiektowa zawiera wiele klas obiektów z rónymi interfejsami i chcemy wykonya na nich operacje zalene od ich klas konkretnych wiele rónych niepowizanych ze sob operacji musi by wykonanych na obiektach struktury, a nie chcemy zanieczyszcza tej struktury tymi operacjami szczególnie przydatne dla współdzielonych struktur klasy definiujce struktur obiektow rzadko si zmieniaj a chcemy czsto definiowa nowe operacje w tej strukturze zmiany w strukturze wymuszaj zmiany całego interfejsu odwiedzajcych
29
30 Uczestnicy: Odwiedzajcy (OdwiedzajcyWzły) deklaruje operacj Odwiedz() dla kadej klasy ElementKonkretny w strukturze obiektowej; nazwa i syngatura operacji okrelaj klas, która wysyła danie Odwied() do Odwiedzajcego; dziki temu Odwiedzajcy moe ustali klas i skorzysta z jej interfejsu
31 OdwiedzajcyKonkretny (OdwiedzajcySprawdzajcyTypy) implementuje kad z operacji zadeklarowanych przez Odwiedzajcego, kazda z operacji definiuje fragment algorytmu zdefiniowanego dla odpowiedniej klasy obiektu w strukturze; OdwiedzajcyKonkretny zapewnia kontekst dla algorytmu i przechowuje jego stan lokalny; stan ten czsto kumuluje wyniki uzyskane podczas przechodzenia struktury
32 Element (Wzeł) definiuje operacj Przyjmij, otrzymujc odwiedzajcego jako argument ElementKonkretny (WzełPrzypisanie, WzełOdwołanieDoZmiennej) implementuje operacj Przyjmij, która otrzymuje odwiedzajcego jako argument
33 StrukturaObiektowa (Program) moe poda swoje elementy moe zapewni wysokopoziomowy interfejs umoliwiajcy odwiedzajcemu odwiedzenie elementów moe by wzorcem Composite lub kolekcj
34 Współpraca: klient musi tworzy obiekt OdwiedzajcyKonkretny, a nastpnie przej struktur obiektow odwiedzajc kady element za pomoc odwiedzajcego gdy element jest odwiedzany wywołuje operacj Odwiedzajcego odpowiedni dla swojej klasy; dostarcza on siebie samego jako argument tej operacji, eby umoliwi odwiedzajcemu dostp do swojego stanu
35 strukturaobiektowaa elementkonkretnya elementkonkretnyb odwiedzajcykonkretny 1: Przyjmij(odwiedzajcy) 2: OdwiedElementKonk ret nya(elementkonkretnya) 3: OperacjaA() 4: Przyjmij(odwiedzajcy) 5: OdwiedElementKonkretnyB(elementKonkretnyB) 6: OperacjaB()
36 Konsekwencje: łatwe dodawanie nowych operacji zebranie razem powizanych ze sob operacji a rozdzielenie niepowizanych trudne dodawanie nowych klas ElementKonkretny odwiedzanie całej hierarchii klas - lepiej ni iterator, bo moe działa na rónych typach kumulowanie stanu naruszanie kapsułkowania operacje dostpu do stanu obiketów klasy ElementKonkretny
37 Implementacja: wywoływanie dwukrotne który z uczestników jest odpowiedzialny za przechodzenie struktury obiektowej?
38 Przykłady Zastosowania Pokrewne wzorce: Composite mona odwiedza hierarchi kompozytu Interpreter zastosowanie do interpretowania
WYKŁAD 10. Wzorce projektowe czynnociowe Command Strategy
WYKŁAD 10 Wzorce projektowe czynnociowe Command Strategy Behavioral Design Pattern: Command [obj] Kapsułkuje dania w postaci obiektu, co umoliwia parametryzowanie klientów rónymi daniami, kolejkowanie
Bardziej szczegółowoWYKŁAD 12. Wzorce projektowe czynnociowe State Mediator
WYKŁAD 12 Wzorce projektowe czynnociowe State Mediator Behavioral Design Pattern: State [obj] Umoliwia obiektowi zmian zachowania gdy zmienia si jego stan wewntrzny. Dzieki temu obiekt zdaje si zmienia
Bardziej szczegółowoWYKŁAD 11. Wzorce projektowe czynnociowe Iterator TemplateMethod
WYKŁAD 11 Wzorce projektowe czynnociowe Iterator TemplateMethod Behavioral Design Pattern: Iterator [obj] Zapewnia sekwencyjny dostp do elementów agregatu bez ujawniania jego reprezentacji wewntrznej.
Bardziej szczegółowoWzorce projektowe. dr inż. Marcin Pietroo
Wzorce projektowe dr inż. Marcin Pietroo Iterator czynnościowy wzorzec projektowy (obiektowy), którego celem jest zapewnienie sekwencyjnego dostępu do podobiektów zgrupowanych w większym obiekcie (np.
Bardziej szczegółowoZaawansowane programowanie obiektowe - wykład 5
Zaawansowane programowanie obiektowe - wykład 5 dr Piotr Jastrzębski (czynnościowe) opisują zachowanie obiektów, komunikację pomiędzy nimi i ich odpowiedzialność. Interpreter Iterator (kursor) Łańcuch
Bardziej szczegółowoWzorce projektowe cz. I. Wzorce projektowe cz. I 1/33
Wzorce projektowe cz. I Wzorce projektowe cz. I 1/33 Wzorce projektowe cz. I 2/33 Historia Wzorce projektowe: wywodzą się z wzorców projektowych w architekturze termin wzorca projektowego wprowadzony do
Bardziej szczegółowoZaawansowane programowanie w C++ (PCP)
Zaawansowane programowanie w C++ (PCP) Wykład 4 - wzorce projektowe. dr inż. Robert Nowak - p. 1/18 Powtórzenie klasy autonomiczne tworzenie nowych typów: dziedziczenie i agregacja dziedziczenie: przedefiniowywanie
Bardziej szczegółowoWzorce projektowe kreacyjne
Wzorce projektowe kreacyjne Krzysztof Ciebiera 14 pa¹dziernika 2005 1 1 Wst p 1.1 Podstawy Opis Ogólny Podstawowe informacje Wzorce kreacyjne sªu» do uabstrakcyjniania procesu tworzenia obiektów. Znaczenie
Bardziej szczegółowoWYKŁAD 5. Wzorce projektowe kreacyjne Builder Prototype
WYKŁAD 5 Wzorce projektowe kreacyjne Builder Prototype Creational Design Pattern: Builder Oddziela konstrukcj obiektów złoonych od ich reprezentacji umoliwiajc tym samym powstawanie w jednym procesie konstrukcyjnym
Bardziej szczegółowoProgramowanie Obiektowe
Programowanie Obiektowe dr in. Piotr Zabawa IBM/Rational Certified Consultant pzabawa@pk.edu.pl WYKŁAD 1 Wstp, jzyki, obiektowo Cele wykładu Zaznajomienie słuchaczy z głównymi cechami obiektowoci Przedstawienie
Bardziej szczegółowoWzorce projektowe. dr inż. Marcin Pietroo
Wzorce projektowe dr inż. Marcin Pietroo Wzorce projektowe Wzorzec projektowy (ang. design pattern) w inżynierii oprogramowania, rozwiązanie często pojawiających się, powtarzalnych problemów projektowych.
Bardziej szczegółowoWypożyczalnia VIDEO. Technologie obiektowe
Wypożyczalnia VIDEO Jest to program do obsługi wypożyczalni i wypożyczeń klientów. Głównym zadaniem programu jest zarządzanie wypożyczeniami i drukowanie potwierdzenia wypożyczenia oraz naliczenie punktów
Bardziej szczegółowoproblem w określonym kontekście siły istotę jego rozwiązania
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
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Laboratorium 11 - przegląd wybranych wzorców mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 24 maja 2017 1 / 38 mgr inż. Krzysztof Szwarc Programowanie obiektowe Wzorce
Bardziej szczegółowoWYKŁAD 13. Wzorce projektowe czynnociowe Chain of Responsibility Interpreter Memento
WYKŁAD 13 Wzorce projektowe czynnociowe Chain of Responsibility Interpreter Memento Behavioral Design Pattern: Chain of Responsibility [obj] Umoliwia uniknicie zwizania wysyłajcego danie z odbiorc dania
Bardziej szczegółowoWprowadzenie do programowania aplikacji mobilnych
Wprowadzenie do programowania aplikacji mobilnych dr Przemysław Juszczuk dr Przemysław Juszczuk Trochę historii Idea wzorców projektowych wywodzi się jeszcze z wczesnych lat osiemdziesiątych ubiegłego
Bardziej szczegółowoWzorce projektowe cz. II. Wzorce projektowe cz. II 1/35
Wzorce projektowe cz. II Wzorce projektowe cz. II 1/35 Wzorce projektowe cz. II 2/35 Iterator Przeznaczenie Wzorzec zapewnia sekwencyjny dostęp do elementów obiektu zagregowanego bez ujawniania jego reprezentacji
Bardziej szczegółowoWzorce projektowe ArrayList. Aplikacja i zdarzenia. Paweł Chodkiewicz
Wzorce projektowe ArrayList DataGridView Aplikacja i zdarzenia Paweł Chodkiewicz Wzorzec uniwersalne rozwiązanie często powtarzających się problemów. Wzorzec opisuje problem, który powtarza się wielokrotnie
Bardziej szczegółowoProgramowanie obiektowe - 1.
Programowanie obiektowe - 1 Mariusz.Masewicz@cs.put.poznan.pl Programowanie obiektowe Programowanie obiektowe (ang. object-oriented programming) to metodologia tworzenia programów komputerowych, która
Bardziej szczegółowoWprowadzenie do kompilatorów
Wprowadzenie do kompilatorów Czy ja kiedykolwiek napisz jaki kompilator? Jakie zadania ma do wykonania kompilator? Czy jzyk formalny to rodzaj jzyka programowania? Co to jest UML?, Czy ja kiedykolwiek
Bardziej szczegółowoProblemy projektowania obiektowego. Czy podobne problemy można rozwiązywac w podobny sposób?
Problemy projektowania obiektowego Czy podobne problemy można rozwiązywac w podobny sposób? Czy te problemy można przedstawić w abstrakcyjny sposób, tak aby były pomocne w tworzeniu rozwiązań w różnych
Bardziej szczegółowoGramatyki regularne i automaty skoczone
Gramatyki regularne i automaty skoczone Alfabet, jzyk, gramatyka - podstawowe pojcia Co to jest gramatyka regularna, co to jest automat skoczony? Gramatyka regularna Gramatyka bezkontekstowa Translacja
Bardziej szczegółowoProgram Sprzeda wersja 2011 Korekty rabatowe
Autor: Jacek Bielecki Ostatnia zmiana: 14 marca 2011 Wersja: 2011 Spis treci Program Sprzeda wersja 2011 Korekty rabatowe PROGRAM SPRZEDA WERSJA 2011 KOREKTY RABATOWE... 1 Spis treci... 1 Aktywacja funkcjonalnoci...
Bardziej szczegółowoBazy danych Podstawy teoretyczne
Pojcia podstawowe Baza Danych jest to zbiór danych o okrelonej strukturze zapisany w nieulotnej pamici, mogcy zaspokoi potrzeby wielu u!ytkowników korzystajcych z niego w sposóbs selektywny w dogodnym
Bardziej szczegółowoWzorce Strukturalne. Adapter: opis. Tomasz Borzyszkowski
Adapter: opis Wzorce Strukturalne Tomasz Borzyszkowski Alternatywna nazwa: Wrapper (opakowanie) Rola obiektu Adapter: pełni wobec Klienta rolę otoczki, która umożliwia przetłumaczenie jego żądań na protokół
Bardziej szczegółowoWZORCE PROJEKTOWE STRUKTURALNE. Omówimy (W6-W8): Decorator Composite Adapter Bridge Facade Proxy
WZORCE PROJEKTOWE STRUKTURALNE Omówimy (W6-W8): Decorator Composite Adapter Bridge Facade Proxy WYKŁAD 6 Wzorce projektowe strukturalne Decorator Composite Structural Design Pattern: Decorator Dynamicznie
Bardziej szczegółowoWzorce projektowe. dr inż. Marcin Pietroo
Wzorce projektowe dr inż. Marcin Pietroo Adapter - strukturalny wzorzec projektowy, którego celem jest umożliwienie współpracy dwóm klasom o niekompatybilnych interfejsach - adapter przekształca interfejs
Bardziej szczegółowoDzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton
Dzisiejszy wykład Wzorce projektowe Visitor Client-Server Factory Singleton 1 Wzorzec projektowy Wzorzec nazwana generalizacja opisująca elementy i relacje rozwiązania powszechnie występującego problemu
Bardziej szczegółowoProjektowanie obiektowe Wzorce projektowe. Gang of Four Strukturalne wzorce projektowe (Wzorce interfejsów)
Projektowanie obiektowe Wzorce projektowe Gang of Four Strukturalne wzorce projektowe (Wzorce interfejsów) 1 Roadmap Adapter Bridge Composite Facade 2 Pojęcia obiekt interfejs typ klasa 3 Co to jest delegacja?
Bardziej szczegółowoWzorce oprogramowania Gof (cd) zastosowane w modelu obiektowym
Wzorce oprogramowania Gof (cd) (Gang of Four skrót odnoszący się do autorów ksiązki: Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software)
Bardziej szczegółowoFV Ando. Nie usuwasz danych Produkty, których ju nie sprzedajesz, nieaktywni kliencie oraz faktury mog by po prostu przeniesione do archiwum.
FV Ando FV Ando to program do wystawiania i edytowania faktur VAT oraz do wszelkich czynnoci zwizanych z procesem fakturowania. FV Ando to program prosty w obsłudze. Dziki niemu wystawianie faktur bdzie
Bardziej szczegółowoProjektowanie obiektowe Wzorce projektowe. Gang of Four Wzorce rozszerzeń
Projektowanie obiektowe Wzorce projektowe Gang of Four Wzorce rozszerzeń 1 Roadmap Decorator Iterator Visitor 2 Wzorce rozszerzeń Mają na celu uczynić proces rozszerzania kodu bardziej czytelnym, prostym
Bardziej szczegółowoTestowanie oprogramowania Wzorce projektowe
Testowanie oprogramowania Wzorce projektowe 1/66 Testowanie oprogramowania Wzorce projektowe dr inż. Grzegorz Michalski 17 listopada 2015 Testowanie oprogramowania Wzorce projektowe 2/66 Plan wykładu Agenda
Bardziej szczegółowoWYKŁAD 8. Wzorce projektowe strukturalne Facade Proxy Flyweight
WYKŁAD 8 Wzorce projektowe strukturalne Facade Proxy Flyweight Structural Design Pattern: Facade Zapewnia jednolity interfejs dla podsystemu zawierajcego wiele interfejsów. Definiuje interfejs wyszego
Bardziej szczegółowoTypy bazy danych Textract
Typy bazy danych Typy bazy danych bazy tekstowe, Textract, http://www.textract.com - bazy tekstowe, np. archiwum gazety, dla setek gigabajtów, szybkie wyszukiwanie i indeksacja informacji bazy danych bez
Bardziej szczegółowoSposoby przekazywania parametrów w metodach.
Temat: Definiowanie i wywoływanie metod. Zmienne lokalne w metodach. Sposoby przekazywania parametrów w metodach. Pojcia klasy i obiektu wprowadzenie. 1. Definiowanie i wywoływanie metod W dotychczas omawianych
Bardziej szczegółowoAnaliza i projektowanie obiektowe 2016/2017. Wykład 11: Zaawansowane wzorce projektowe (1)
Analiza i projektowanie obiektowe 2016/2017 Wykład 11: Zaawansowane wzorce projektowe (1) Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Wzorce projektowe
Bardziej szczegółowoWzorce projektowe Michał Węgorek
Wzorce projektowe Michał Węgorek Wzorce projektowe Plan prezentacji Co to jest i po co to jest? Podział Najczęściej spotykane wzorce Bibliografia Co to jest i po co to jest? Wzorzec projektowy (ang. Design
Bardziej szczegółowoAltiumLive Dashboard - sownik. AltiumLive Dashboard - Glossary. Language. Contents
AltiumLive Dashboard - sownik Language AltiumLive Dashboard - Glossary Contents Konto (Account) Aktywacja (Activation) Kod aktywacji (Activation Code) Kontakt (Contact) Grupa (Group) Administrator grupy
Bardziej szczegółowoBazy danych. Plan wykładu. Podzapytania - wskazówki. Podzapytania po FROM. Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych.
Plan wykładu azy danych Wykład 5: Zalenoci wielowartociowe. Sprowadzanie do postaci normalnych. Dokoczenie SQL Zalenoci wielowartociowe zwarta posta normalna Dekompozycja do 4NF Przykład sprowadzanie do
Bardziej szczegółowoProgramowanie obiektowe
Wykład 12 Marcin Młotkowski 16 maja 2018 Plan wykładu 1 Analiza obiektowa Dziedziczenie Dziedziczenie a składanie 2 Marcin Młotkowski 482 / 537 Dziedziczenie Dziedziczenie a składanie Plan wykładu 1 Analiza
Bardziej szczegółowoobsług dowolnego typu formularzy (np. formularzy ankietowych), pobieranie wzorców formularzy z serwera centralnego,
Wstp GeForms to program przeznaczony na telefony komórkowe (tzw. midlet) z obsług Javy (J2ME) umoliwiajcy wprowadzanie danych według rónorodnych wzorców. Wzory formularzy s pobierane z serwera centralnego
Bardziej szczegółowoBazy danych. Plan wykładu. Zalenoci funkcyjne. Wykład 4: Relacyjny model danych - zalenoci funkcyjne. SQL - podzapytania A B
Plan wykładu Bazy danych Wykład 4: Relacyjny model danych - zalenoci funkcyjne. SQL - podzapytania Definicja zalenoci funkcyjnych Klucze relacji Reguły dotyczce zalenoci funkcyjnych Domknicie zbioru atrybutów
Bardziej szczegółowoKlasy abstrakcyjne, interfejsy i polimorfizm
Programowanie obiektowe 12 kwietnia 2011 Organizacyjne Klasówka będzie 20 IV 2011. Sale jeszcze są pertraktowane. Materiał do wyjątków włącznie. Można mieć swoje materiały nieelektroniczne. Wywołanie z
Bardziej szczegółowoPROWIZJE Menad er Schematy rozliczeniowe
W nowej wersji systemu pojawił si specjalny moduł dla menaderów przychodni. Na razie jest to rozwizanie pilotaowe i udostpniono w nim jedn funkcj, która zostanie przybliona w niniejszym biuletynie. Docelowo
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Wykład 7 Marcin Młotkowski 8 kwietnia 2015 Plan wykładu Z życia programisty, część 1 1 Z życia programisty, część 1 2 3 Z życia programisty, część 2 Model View Controller MVC w
Bardziej szczegółowostopie szaro ci piksela ( x, y)
I. Wstp. Jednym z podstawowych zada analizy obrazu jest segmentacja. Jest to podział obrazu na obszary spełniajce pewne kryterium jednorodnoci. Jedn z najprostszych metod segmentacji obrazu jest progowanie.
Bardziej szczegółowoWzorce projektowe strukturalne cz. 1
Wzorce projektowe strukturalne cz. 1 Krzysztof Ciebiera 19 pa¹dziernika 2005 1 1 Wst p 1.1 Podstawowe wzorce Podstawowe wzorce Podstawowe informacje Singleton gwarantuje,»e klasa ma jeden egzemplarz. Adapter
Bardziej szczegółowo1. Klasa typu sealed. Przykład 1. sealed class Standard{ class NowyStandard:Standard{ // błd!!!
Temat: Klasy typu sealed. Klasy abstrakcyjne. Deklaracja i implementacja interfejsu. Typ Object i operatory is oraz as. Czas ycia obiektu. Destruktory. 1. Klasa typu sealed Przykład 1 Klasa typu sealed
Bardziej szczegółowoPrzygotowanie rodowiska dla egzaminu e-obywatel
Kandydaci przystpujcy do testu powinni dokona rejestracji w Centrum Egzaminacyjnym ECDL-A wypełniajc Kart rejestracji uczestnika egzaminu ECDL e-obywatel (ang. ECDL e-citizen Skills Card). Po zakoczeniu
Bardziej szczegółowoProgramowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska
Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego Iwona Kochaoska Programowanie Obiektowe Programowanie obiektowe (ang. object-oriented programming) - metodyka tworzenia programów komputerowych,
Bardziej szczegółowoOmówienie wzorców wykorzystywanych w Prism 5.0. Dominika Różycka
1 Omówienie wzorców wykorzystywanych w Prism 5.0 Dominika Różycka Czym jest wzorzec projektowy? 2 3 Wzorzec projektowy 1. Uniwersalne i sprawdzone w praktyce rozwiązanie często pojawiających się, powtarzalnych
Bardziej szczegółowozdefiniowanie kilku grup dyskusyjnych, z których chcemy odbiera informacje, dodawanie, usuwanie lub edycj wczeniej zdefiniowanych grup dyskusyjnych,
Wstp W nowoczesnym wiecie coraz istotniejsz rol odgrywa informacja i łatwy dostp do niej. Nie dziwi wic fakt, i nowoczesne telefony komórkowe to nie tylko urzdzenia do prowadzenia rozmów telefonicznych,
Bardziej szczegółowoTemat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation).
Temat: Programowanie zdarzeniowe. Zdarzenia: delegacje, wykorzystywanie zdarze. Elementy Windows Application (WPF Windows Presentation Foundation). 1. Programowanie zdarzeniowe Programowanie zdarzeniowe
Bardziej szczegółowoOptymalizacja oprogramowania - wprowadzenie
Optymalizacja oprogramowania - wprowadzenie Poznaskie Centrum Superkomputerowo Sieciowe Projekt jest współfinansowany ze rodków Europejskiego Funduszu Rozwoju Regionalnego w ramach Programu Operacyjnego
Bardziej szczegółowoKlonowanie MAC adresu oraz TTL
1. Co to jest MAC adres? Klonowanie MAC adresu oraz TTL Adres MAC (Media Access Control) to unikalny adres (numer seryjny) kadego urzdzenia sieciowego (jak np. karta sieciowa). Kady MAC adres ma długo
Bardziej szczegółowoDiagramy klas. dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com
Diagramy klas dr Jarosław Skaruz http://ii3.uph.edu.pl/~jareks jaroslaw@skaruz.com O czym będzie? Notacja Ujęcie w różnych perspektywach Prezentacja atrybutów Operacje i metody Zależności Klasy aktywne,
Bardziej szczegółowoPrzegldanie stron wymaga odpowiedniej mikroprzegldarki w urzdzeniu mobilnym lub stosownego emulatora.
I. Temat wiczenia Podstawy tworzenia stron WAP II. Wymagania Podstawowe wiadomoci z technologii Internetowych. III. wiczenie 1. Wprowadzenie WAP (ang. Wireless Application Protocol) - to protokół umoliwiajcy
Bardziej szczegółowoInterfejsy i klasy wewnętrzne
Interfejsy i klasy wewnętrzne mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Interfejs klasy sposób komunikacji z jej obiektami (zestaw składowych publicznych). Określa on zestaw
Bardziej szczegółowoKlasy Obiekty Dziedziczenie i zaawansowane cechy Objective-C
#import "Fraction.h" #import @implementation Fraction -(Fraction*) initwithnumerator: (int) n denominator: (int) d { self = [super init]; } if ( self ) { [self setnumerator: n anddenominator:
Bardziej szczegółowo.! $ Stos jest list z trzema operacjami: dodawanie elementów na wierzch stosu, zdejmowanie elementu z wierzchu stosu, sprawdzanie czy stos jest pusty.
!"! " #$%& '()#$$ &%$! #$ %$ &%$& &$&! %&'" )$$! *$$&%$! +,- +-.! $ Celem wiczenia jest zapoznanie studenta ze strukturami: lista, stos, drzewo oraz ich implementacja w jzyku ANSI C. Zrozumienie działania
Bardziej szczegółowoWykład 9: Polimorfizm i klasy wirtualne
Programowanie obiektowe Wykład 9: i klasy wirtualne 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD Programowanie obiektowe i metody wirtualne 2 W programowaniu obiektowym polimorfizm
Bardziej szczegółowoProjektowanie obiektowe Wzorce projektowe
Projektowanie obiektowe Wzorce projektowe Gang of Four Kreacyjne wzorce projektowe (wzorce konstrukcyjne) 1 Roadmap Memento Factory Method Abstract Factory Prototype Builder 2 Wzorce konstrukcyjne wzorce
Bardziej szczegółowoKurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/
Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Spis treści Wprowadzenie Automatyczne ładowanie klas Składowe klasy, widoczność składowych Konstruktory i tworzenie obiektów Destruktory i
Bardziej szczegółowoModel obiektu w JavaScript
16 marca 2009 E4X Paradygmat klasowy Klasa Deniuje wszystkie wªa±ciwo±ci charakterystyczne dla wybranego zbioru obiektów. Klasa jest poj ciem abstrakcyjnym odnosz cym si do zbioru, a nie do pojedynczego
Bardziej szczegółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego
Bardziej szczegółowoTerminologia baz danych
Terminologia baz danych Terminologia Banki danych - bazy danych w których przechowuje si informacj historyczne. Hurtownie danych (data warehouse): zweryfikowane dane z rónych baz, przydatne do analiz i
Bardziej szczegółowoProjektowanie oprogramowania: wzorce architektoniczne i projektowe
Projektowanie oprogramowania: wzorce architektoniczne i projektowe Ogólne zasady projektowania Nie staraj się zadziwić innych. Rzeczy oczywiste rób w sposób oczywisty. Nie rozmawiaj z nieznajomym. Projekt
Bardziej szczegółowoKreator automatycznego uaktualniania firmware'u
Kreator automatycznego uaktualniania firmware'u Language Automatic Firmware Update Wizard Contents Dostp do kreatora Proces aktualizacji firmware'u (uruchomiony z trybu normalnego) Proces aktualizacji
Bardziej szczegółowoBazy danych Transakcje
Wstp Pojcia podstawowe: Transakcja - sekwencja (uporzdkowany zbiór) logicznie powizanych operacji na bazie danych, która przeprowadza baz danych z jednego stanu spójnego w inny stan spójny. W!a"no"ci transakcji:
Bardziej szczegółowoWZORCE PROJEKTOWE (I) (DESIGN PATTERNS)
WZORCE PROJEKTOWE (I) (DESIGN PATTERNS) Maciej Patan Motywacje W wielu dziedzinach nowoczesnej inżynierii napotykamy na następujące zagadnienia: Czy typowe zadania i problemy można rozwiązywać w powtarzalny
Bardziej szczegółowoProjektowanie obiektowe oprogramowania Wykład 4 wzorce projektowe cz.i. wzorce podstawowe i kreacyjne Wiktor Zychla 2017
Projektowanie obiektowe oprogramowania Wykład 4 wzorce projektowe cz.i. wzorce podstawowe i kreacyjne Wiktor Zychla 2017 1 Wzorce podstawowe 1.1 Interface vs Abstract class class InterfaceAbstractClass
Bardziej szczegółowoWykład 1. Projektowanie efektywnych algorytmów przetwarzania danych w sieciowych systemach usług, rzeczy i multimediów.
Wykład 1. Projektowanie efektywnych algorytmów przetwarzania danych w sieciowych systemach usług, rzeczy i multimediów. Paweł Świątek Agenda 1. Sprawy organizacyjne 2. Zasady zaliczenia 3. Cele kursu 4.
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia.
Bardziej szczegółowoBazy danych. Plan wykáadu. Zale*noci funkcyjne. Wykáad 4: Relacyjny model danych - zale*noci funkcyjne. A B
Plan wykáadu Bazy danych Wykáad 4: Relacyjny model danych - zale*noci funkcyjne. Maágorzata Krtowska Wydziaá Informatyki Politechnika Biaáostocka Deficja zale*noci funkcyjnych Klucze relacji Reguáy dotyczce
Bardziej szczegółowoProjektowanie obiektowe oprogramowania Wykład 7 wzorce czynnościowe (2) Wiktor Zychla 2018
Projektowanie obiektowe oprogramowania Wykład 7 wzorce czynnościowe (2) Wiktor Zychla 2018 1 Mediator Motto: Koordynator współpracy ściśle określonej grupy obiektów dzięki niemu one nie odwołują się do
Bardziej szczegółowohierarchie klas i wielodziedziczenie
Programowanie Obiektowe (język C++) Wykład 15. hierarchie klas i wielodziedziczenie Tomasz Marks - Wydział MiNI PW -1- Tomasz Marks - Wydział MiNI PW -2- Hierarchie klas Dziedziczenie wprowadza relację
Bardziej szczegółowoBuilder (budowniczy) Cel: Przykład:
1/8 Builder (budowniczy) Cel: Oddzielenie konstruowania złożonego obiektu od jego reprezentacji, tak aby ten sam proces konstrukcji mógł tworzyć różne reprezentacje. Przykład: 2/8 abstract class TableBuilder
Bardziej szczegółowoPakiety i interfejsy. Tomasz Borzyszkowski
Pakiety i interfejsy Tomasz Borzyszkowski Pakiety podstawy W dotychczasowych przykładach nazwy klas musiały pochodzić z jednej przestrzeni nazw, tj. być niepowtarzalne tak, by nie doprowadzić do kolizji
Bardziej szczegółowoSystemy operacyjne lab. 6 Paweł Gmys strona 1
Systemy operacyjne lab. 6 Paweł Gmys strona 1 I Uytkownicy i grupy 1. Proces logowania Rozpoczynajc prac z systemem na komputerze lokalnym Windows 2000 musimy poda w oknie logowania identyfikator uytkownika
Bardziej szczegółowoWYKŁAD 7. Wzorce projektowe strukturalne Adapter Bridge
WYKŁAD 7 Wzorce projektowe strukturalne Adapter Bridge Structural Design Pattern: Adapter Przekształca interfejs klasy w taki, jakiego oczekuj klienci. Dziki adapterowi istniejce wczeniej klasy mog wspolpracowa,
Bardziej szczegółowoBadania marketingowe w pigułce
Jolanta Tkaczyk Badania marketingowe w pigułce Dlaczego klienci kupuj nasze produkty lub usługi? To pytanie spdza sen z powiek wikszoci menederom. Kady z nich byłby skłonny zapłaci due pienidze za konkretn
Bardziej szczegółowoMetody komputerowe i obliczeniowe Metoda Elementów Skoczonych. Element dwuwymiarowy liniowy : belka
etody komputerowe i obliczeniowe etoda Elementów Skoczonych Element dwuwymiarowy liniowy : belka Jest to element bardzo podobny do prta: współrzdne lokalne i globalne jego wzłów s takie same nie potrzeba
Bardziej szczegółowoTechnologie obiektowe
WYKŁAD dr inż. Paweł Jarosz Instytut Informatyki Politechnika Krakowska mail: pjarosz@pk.edu.pl LABORATORIUM dr inż. Paweł Jarosz (3 grupy) mgr inż. Piotr Szuster (3 grupy) warunki zaliczenia Obecność
Bardziej szczegółowoProgramowanie Obiektowe i C++
Programowanie Obiektowe i C++ Marcin Benke 2.10.2006 Dzisiaj Co umiemy Paradygmaty programowania Co będzie na wykładach Zasady zaliczania Programowanie obiektowe Co umiemy Programowałem w C++ Programowałem
Bardziej szczegółowoModelowanie i Programowanie Obiektowe
Modelowanie i Programowanie Obiektowe Wykład I: Wstęp 20 październik 2012 Programowanie obiektowe Metodyka wytwarzania oprogramowania Metodyka Metodyka ustandaryzowane dla wybranego obszaru podejście do
Bardziej szczegółowoInstrukcja obsługi programu MechKonstruktor
Instrukcja obsługi programu MechKonstruktor Opracował: Sławomir Bednarczyk Wrocław 2002 1 1. Opis programu komputerowego Program MechKonstruktor słuy do komputerowego wspomagania oblicze projektowych typowych
Bardziej szczegółowoBazy danych. Plan wykładu. Pierwsza posta normalna. Druga posta normalna. Wykład 7: Sprowadzanie do postaci normalnych. DDL, DML
Plan wykładu azy danych Wykład 7: Sprowadzanie do postaci normalnych. DDL, DML Przykład sprowadzenia nieznormalizowanej relacji do 3NF SQL instrukcja EXISTS DDL DML (insert) Małgorzata Krtowska Katedra
Bardziej szczegółowoPlanowanie adresacji IP dla przedsibiorstwa.
Planowanie adresacji IP dla przedsibiorstwa. Wstp Przy podejciu do planowania adresacji IP moemy spotka si z 2 głównymi przypadkami: planowanie za pomoc adresów sieci prywatnej przypadek, w którym jeeli
Bardziej szczegółowoDziedziczenie. Tomasz Borzyszkowski
Dziedziczenie Tomasz Borzyszkowski Podstawy Zobacz: Dziedzictwo1.java Dziedzictwo2.java Dziedziczenie jest jedną z podstawowych cech OOP ponieważ umożliwia łatwe implementowanie klasyfikacji hierarchicznych.
Bardziej szczegółowoStudium przypadku Case Study CCNA2-ROUTING
Na podstawie oryginału CISCO, przygotował: mgr in. Jarosław Szybiski Studium przypadku Case Study CCNA2-ROUTING Ogólne załoenia dla projektu Przegld i cele Podczas tego wiczenia uczestnicy wykonaj zadanie
Bardziej szczegółowoWykład 8: klasy cz. 4
Programowanie obiektowe Wykład 8: klasy cz. 4 Dynamiczne tworzenie obiektów klas Składniki statyczne klas Konstruktor i destruktory c.d. 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD
Bardziej szczegółowoIteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1
Iteracyjno-rozwojowy proces tworzenia oprogramowania Wykład 3 część 1 Zofia Kruczkiewicz 1 Zunifikowany iteracyjno- przyrostowy proces tworzenia oprogramowania kiedy? Przepływ działań Modelowanie przedsiębiorstwa
Bardziej szczegółowoTworzenie bazy danych Biblioteka tworzenie tabel i powiza, manipulowanie danymi. Zadania do wykonani przed przystpieniem do pracy:
wiczenie 2 Tworzenie bazy danych Biblioteka tworzenie tabel i powiza, manipulowanie danymi. Cel wiczenia: Zapoznanie si ze sposobami konstruowania tabel, powiza pomidzy tabelami oraz metodami manipulowania
Bardziej szczegółowo{Opracowała Małgorzata Roguska} Tematy lekcji:
Pascal {Opracowała Małgorzata Roguska} Tematy lekcji: c) Ogólne omówienie Pascala, d) rodowisko Borland Pascala 7.0 (BP 7.0), e) Struktura programu w Pascalu, a. identyfikatory b. słowa kluczowe c. literały
Bardziej szczegółowoKonstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.
Konstruktory Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut. Rozpatrzmy przykład przedstawiający klasę Prostokat: class
Bardziej szczegółowoPoprawa efektywnoci metody wstecznej propagacji bdu. Jacek Bartman
Poprawa efektywnoci metody wstecznej propagac bdu Algorytm wstecznej propagac bdu. Wygeneruj losowo wektory wag. 2. Podaj wybrany wzorzec na wejcie sieci. 3. Wyznacz odpowiedzi wszystkich neuronów wyjciowych
Bardziej szczegółowoInterfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej
Programowanie obiektowe Interfejsy Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Interfejsy Autor: Paweł Rogaliński Instytut Informatyki,
Bardziej szczegółowoListy i operacje pytania
Listy i operacje pytania Iwona Polak iwona.polak@us.edu.pl Uniwersytet l ski Instytut Informatyki pa¹dziernika 07 Który atrybut NIE wyst puje jako atrybut elementów listy? klucz elementu (key) wska¹nik
Bardziej szczegółowoAteus - Helios. System domofonowy
Ateus - Helios System domofonowy Klawiatura telefoniczna: Uywajc klawiatury mona wybra dowolny numer abonenta. Helios moe pracowa z wybieraniem DTMF lub impulsowym. Ograniczenia na dostp do sieci publicznej
Bardziej szczegółowo