WYKŁAD 7. Wzorce projektowe strukturalne Adapter Bridge
|
|
- Henryka Skiba
- 9 lat temu
- Przeglądów:
Transkrypt
1 WYKŁAD 7 Wzorce projektowe strukturalne Adapter Bridge
2 Structural Design Pattern: Adapter Przekształca interfejs klasy w taki, jakiego oczekuj klienci. Dziki adapterowi istniejce wczeniej klasy mog wspolpracowa, co bez niego byłoby niemoliwe, poniewa maj niezgodne interfejsy. Inne nazwy: Wrapper
3 Uzasadnienie stosowania: Mamy klas z pakietu narzdziowego. Nie mona jej jednak wykorzysta, poniewa jej interfejs nie pasuje do interfejsu naszej aplikacji specyficznego dla danej dziedziny. Moe to by edytor graficzny, który umoliwia uytkownikom układanie elementów graficznych (linie, figury, tekst) w rysunki i diagramy.
4 Kady obiekt graficzny moe zmieni kształt lub si narysowa. Interfejs ten jest ustalony przez klas Ksztalt. Dla kadego kształtu mamy podklas (np. KsztaltTekst). KsztaltTekst jest najbardziej skomplikowany, wic nie warto go implementowa. Ale mamy bibliotek z klas WidokTekstu. Jednak klasa ta nie jest zgodna z hierachi klas naszego edytora. Nie da si wic korzytsa wymiennie z obu klas.
5 Nie moemy zmieni klasy WidokTekstu (brak kodu ródłowego, zmiana w wielu klasach bibliotecznych, dostosowywanie biblioteki do kadego jej wykorzystania). Zamiast tego definiujemy klas KsztaltTekst tak aby adaptowała interfejs klasy WidokTekstu do wymaganego przez nadklas Ksztalt.
6 Tak adaptacj mona zrealizowa na dwa sposoby: klasowy: wydziedziczenie z interfeksu klasy Ksztalt i z implementacji klasy WidokTekstu [generalizacja] obiektowy: złoenie instancji klasy WidokTekstu z instancj klasy KsztaltTekst i zaimplementowanie klasy KsztaltTekst w kategoriach interfejsu klasy WidokTekstu [asocjacja] Podklas KsztaltTekst nazywamy adapterem.
7 Edy torgraficzny Ksztalt Ramk abrzegowa() StworzManipulator() +tekst WidokTekstu PodajRozmiar() KsztaltLinia RamkaBrzegowa() StworzManipulator() KsztaltTekst RamkaBrz egowa() St worzmanipulator() return tekst->podajrozmiar return new ManipulatorTekst()
8 Adapter jest czsto odpowiedzialny równie za implementacj funkcjonalnoci, której nie ma adaptowana klasa. Przykładem moe tu by przeciganie tekstu niezaimplementowane w klasie adaptowanej. Wtedy adapter moe zaimplementowa brakujc funkcjonalno w odpowiedniej podklasie klasy Manipulator, któr musi stworzy.
9 Stosowalno: zamiar wykorzystania istniejcej klasy gdy jej interfejs nie odpowiada temu, który jest wymagany [strona klienta] zamiar utworzenia klasy wielokrotnego uytku, która współpracuje z niepowizanymi ze sob lub nieprzewidzianymi klasami, tzn. z takimi, które mog mie niezgodne interfejsy [strona biblioteki] adapter obiektów: potrzeba uycia kilku isniejcych podklas, ale zaadaptowanie ich interfejsów przez tworzenie podklas jest niepraktyczne; adapter obiektów moe adaptowa interfejs swojej nadklasy Struktura:
10 Klient Cel Zadanie() Adaptowany SpecyficzneZadanie() implementacja Adapter Zadanie() SpecyficzneZadanie
11 Klient Cel +adaptowany Adaptowany Zadanie() SpecyficzneZadanie() Adapter Zadanie() adaptowany->spec yficznezadanie
12 Uczestnicy: Cel (Ksztalt) definiuje specyficzny dla dziedziny interfejs uywany przez klienta Klient (EdytorGraficzny) współpracuje z obiektami dostosowanymi do interfejsu Celu
13 Adaptowany (WidokTekstu) definiuje istniejcy wczeniej interfejs, który wymaga zaadaptowania Adapter (KsztaltTekst) adaptuje interfejs Adaptowanego do interfejsu Celu Współpraca: Klienci wywołuj operacje egzemplarza Adaptera. Z kolei adapter wywołuje operacje adaptowane, umoliwiajce spełnienie dania.
14 Konsekwencje: Adapter klas. adaptuje Adaptowanego do Celu dostosowujc si do klasy konkretnej Adaptowanego nie odpowiedni do adaptowania klasy i wszystkich podklas umoliwia Adapterowi przedefiniowanie czci zachowania Adaptowanego (podklasa) tylko jeden dodatkowy obiekt dla dostpu do Adaptowanego
15 Adapter obiektów. umoliwia jednemu Adapterowi prac z wieloma Adaptowanymi (tzn. te z podklasami Adaptowanego) moliwo dodania dodatkowej funkcjonalnoci do wszystkich podklas naraz utrudnia przedefiniowanie zachowania Adaptowanego konieczne tworzenie podklas Adaptowanego i odwoływanie si Adaptera do nich, a nie do samego Adaptowanego
16 Inne zagadnienia: ile pracy adaptacyjnej wykonuje Adapter? tym wicej im wiksze niedopasowanie interfejsów moliwo podłczania Adapterów uycie adapterów dwukierunkowych w celu zapewnienia przeroczystoci
17 Implementacja: w C++ Adapter dziedziczy publicznie po Celu i prywatnie po Adaptowanym jest podtypem Celu a nie Adaptowanego adaptery podłczalne uywanie operacji abstrakcyjnych uywanie delegatów adaptery sparametryzowane
18 Przykłady: Znane zastosowania:
19 Pokrewne wzorce: Bridge podobna struktura, ale przeznaczony jest do odzdzielania interfejsu od implementacji tak aby mogły by zmianiane łatwo i niezalenie. Adapter jest odpowiedzialny za zmian interfejsu istniejcego obiektu.
20 Decorator ulepsza inny obiekt nie zmieniajc jego interfejsu. Jest dla aplikacji bardziej przeroczysty ni Adapter. Umoliwia ponadto składanie rekurencyjne, co nie jest moliwe w wypadku adapterów w czystej postaci. Proxy definiuje reprezentanta lub substytut innego obiektu i nie zmienia jego interfejsu
21 Structural Design Pattern: Bridge Wzorzec ten oddziela abstrakcj od jej implementacji, tak by mogły si zmienia niezalenie od siebie nawzajem.
22 Uzasadnienie: Abstrakcja moe mie wiele implementacji. Naiwne podejcie to definicja klasy abstrakcyjnej jako interfejsu a podklas jako ich rónych implementacji. Przykładowo wyobramy sobie przenon abstrakcj Okno z pakietu narzdziowego do tworzenia GUI.
23 Chcemy aby klasa ta umoliwiała pisanie aplikacji GUI pod X Window i pod Presentation Manager (PM). Jeli zastosujemy dziedziczenie, to wydziedziczymy z nadklasy Okno podklasy OknowWStyluXa i OknoW StyluPMa implementujce Okno dla obu systemów okienkowych.
24 Wady tego podejcia s nastpujce: trudno w rozszerzaniu abstrakcji Okno w celu uwzgldnienia rónych rodzajów okien i systemów okienkowych. Dodanie nowego okna: jeli potrzebujemy doda okno reprezentujce ikony, to przy takim podejciu tworzymy podklas klasy Okno o nazwie OknoIkony. Teraz aby mie OknoIkony dla obu systemów okienkowych musimy utworzy podklasy OknoIkonyWStyluXa i OknoIkonyWStyluPMa (=ilo nowych okien*ilo istniejcych stylów). Dodanie nowego stylu: jeli chcemy doda nowy styl, to musimy zaimplementowa dla niego wszytskie wersje okien istniejcych w dotychczasowych stylach (=ilo nowych stylów*ilo istniejcych okien) Czyli jeli dodajemy n okien i m stylów, to musimy zaimplementowa m*n klas
25 uzalenienie kodu klienta od istniejcych platform trudno w przenoszeniu kodu klienta na inne platformy [podobnie jest z zalenoci klienta od istniejcych okien] Klienci powinni móc tworzy okna niezalenie od konkretnej implementacji. Bridge rozwizuje oba problemy przez umieszczenie abstrakcji Okno i jej implementacji w osobnych hierarchiach, jak pokazano to na rysunku. Nazwa pochodzi od tego, e łczy on abstrakcj z implementacj.
26 Okno +impl ImplOk na PiszTekst() RysujProstokat() impl->implrysujlinie() impl->implrysujlinie() impl->implrysujlinie() impl->implrysujlinie() ImplPiszTekst() ImplRysujLinie() OknoIkony OknoChwilowe ImplOknaDlaX ImplOknaDlaPM RysujRamke() RysujRamkeZamykajaca() ImplPiszTekst() ImplRysujLinie() ImplPiszTekst() ImplRy sujlinie() RysujProstokat() Pisz Tekst() RysujProstokat() XDrawLine() XDrawString()
27 Stosowalno: uniknicie stałego powizania abstrakcji z implementacj moliwo wyboru runtime moliwo niezalenego rozbudowywania hierarchii abstrakcji i hierarchii implementacji brak wpływu zmian implementacji na klientów całkowite ukrycie implementacji przed klientem uniknicie namnaania si klas w hierarchiach współdzielenie implementacji przez wiele obiektów Struktura:
28 Klient Abstrakcja Operacja() +impl Implement acja ImplOperacji() impl->impoperacji RozwinietaAbstrakcja ImplementacjaKonkretnaA ImplOperacji() ImplementacjaKonkretnaB ImplOperacji()
29 Uczestnicy: Abstrakcja (Okno) definiuje interfejs abstrakcji zarzdza odwołaniem do obiektu typu Implementacja RozwinitaAbstrakcja (OknoIkony) rozszerza interfejs zdefiniowany przez klas Abstrakcja
30 Implementacja (ImpOkna) definiuje interfejs klas implementujcych, który nie musi dokładnie odpowiada interfejsowi klasy Abstrakcja. Mog si znaczco róni. Zwykle Implementacja okrela operacje pierwotne, a Abstrakcja wykorzystuje je z poziomu operacji wyszego poziomu ImplementacjaKonkretna (ImplOknaDlaX, ImplOknaDlaPM) implementuje interfejs klasy Implementacja i definiuje jej implementacj konkretn
31 Współpraca: Abstrakcja przesyła dania klientów do swojego obiektu Implementacja Konsekwencje: oddzielenie interfejsu od implementacji mona nie tylko łatwo podmienia operacj, ale nawet mona to robi w czasie wykonania; zmiana implementacji nie wymaga rekompilacji klas Abstrakcja ani Klient zgodno binarna; zachta do architektury warstwowej!
32 ułatwiona rozszerzalno obie hierarchie mona rozbudowywa niezalenie ukrywanie szczegółów implementacji przed klientami (ukrycie współdzielenia obiektów implementujcych i liczników odwoła) Implementacja: istnienie tylko jednej klasy Implementacja tworzenie właciwego obiektu implementacyjnego w zalenoci od wielkoci (moliwo zmiany runtime) współdzielenie implementacji stosowanie wielodziedziczenia (w C++ zbyt statyczne)
33 Przykłady: Znane zastosowania: Pokrewne wzorce: AbstractFactory moe tworzy i konfigurowa poszczególne Bridges Adapter dziki niemu niepowizane ze sob klasy mog współpracowa. Zwykle stosuje si go zaraz po zaprojektowaniu systemu. Wzorzec Bridge stosuje si zwykle od samego pocztku projektowania. Dziki niemu niepowizane ze sob klasy mog si zmienia niezalenie od siebie.
Wzorce 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
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
Wzorce 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
WYKŁ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.
WYKŁ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
WZORCE 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
Programowanie 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
Projektowanie obiektowe. Roman Simiński Wzorce projektowe Wybrane wzorce strukturalne
Projektowanie obiektowe Roman Simiński roman.siminski@us.edu.pl www.siminskionline.pl Wzorce projektowe Wybrane wzorce strukturalne Fasada Facade Pattern 2 Wzorzec Fasada Facade Pattern koncepcja 3 Wzorzec
WYKŁAD 9. Wzorce projektowe czynnociowe Observer Visitor
WYKŁAD 9 Wzorce projektowe czynnociowe Observer Visitor Behavioral Design Pattern: Observer [obj] Okrela relacj jeden-do-wielu midzy obiektami. Gdy jeden z obiektów zmienia stan, wszystkie obiekty zalene
Wzorce 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
Wzorce 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ół
Wzorce 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
Wzorce 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
Perspektywa obiektowości
Inżynieria Oprogramowania Wykład 10 Wzorce projektowe Perspektywa obiektowości obiekty hermetyzacja dziedziczenie klasy abstrakcyjne 2 Wzorce projektowe Czym są wzorce projektowe Przykładowe definicje:
Projektowanie 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?
Projektowanie 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
WYKŁ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
Wzorce 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.
Planowanie 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
problem 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
Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016
Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal
Projektowanie obiektowe oprogramowania Wykład 5 wzorce strukturalne Wiktor Zychla 2016
Projektowanie obiektowe oprogramowania Wykład 5 wzorce strukturalne Wiktor Zychla 2016 1 Wzorce strukturalne 1.1 Facade Motto: uproszczony interfejs dla podsystemu z wieloma interfejsami class SmtpFacade
Zofia Kruczkiewicz - Modelowanie i analiza systemów informatycznych 2
Modelowanie i analiza systemów informatycznych 1. Warstwowa budowa systemów informatycznych 2. Model procesu wytwarzania oprogramowania - model cyklu życia oprogramowania 3. Wstęp do modelowania systemów
Rysunek 1: Przykłady graficznej prezentacji klas.
4 DIAGRAMY KLAS. 4 Diagramy klas. 4.1 Wprowadzenie. Diagram klas - w ujednoliconym języku modelowania jest to statyczny diagram strukturalny, przedstawiający strukturę systemu w modelach obiektowych przez
Język Java część 2 (przykładowa aplikacja)
Programowanie obiektowe Język Java część 2 (przykładowa aplikacja) Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Java Java przykładowa
Dzisiejszy 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
Język Java część 2 (przykładowa aplikacja)
Programowanie obiektowe Język Java część 2 (przykładowa aplikacja) Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski @ pwr.wroc.pl Java Java przykładowa
Wprowadzenie 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
hierarchie 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ę
Wzorce 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
Kurs programowania. Wykład 12. Wojciech Macyna. 7 czerwca 2017
Wykład 12 7 czerwca 2017 Czym jest UML? UML składa się z dwóch podstawowych elementów: notacja: elementy graficzne, składnia języka modelowania, metamodel: definicje pojęć języka i powiazania pomiędzy
Programowanie w języku Java WYKŁAD
Programowanie w języku Java WYKŁAD dr inż. Piotr Zabawa Certyfikowany Konsultant IBM/Rational e-mail: pzabawa@pk.edu.pl www: http://www.pk.edu.pl/~pzabawa 24.02.2014 WYKŁAD 1 Wzorce projektowe Znaczenie
Projektowanie 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
Projektowanie 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
Wypoż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
Zaawansowane 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
Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl
Komputerowe Systemy Przemysłowe: Modelowanie - UML Arkadiusz Banasik arkadiusz.banasik@polsl.pl Plan prezentacji Wprowadzenie UML Diagram przypadków użycia Diagram klas Podsumowanie Wprowadzenie Języki
Analiza i projektowanie aplikacji Java
Analiza i projektowanie aplikacji Java Modele analityczne a projektowe Modele analityczne (konceptualne) pokazują dziedzinę problemu. Modele projektowe (fizyczne) pokazują system informatyczny. Utrzymanie
Diagramy 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,
Problemy 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
1. 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
Klasa jest nowym typem danych zdefiniowanym przez użytkownika. Najprostsza klasa jest po prostu strukturą, np
Klasy Klasa jest nowym typem danych zdefiniowanym przez użytkownika Wartości takiego typu nazywamy obiektami Najprostsza klasa jest po prostu strukturą, np struct Zespolona { Klasy jako struktury z operacjami
Programowanie 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
1) Wzorzec projektowy Adapter. Zastosowanie:
Projektowanie Systemów Komputerowych Laboratoria/Projekty Krzysztof Regulski AGH, WIMiIP WZORCE STRUKTURALNE PSK - projektowanie systemów komputerowych, notatki w Internecie, Beata Frączek, http://brasil.cel.agh.edu.pl/~09sbfraczek
Projektowanie logiki aplikacji
Jarosław Kuchta Projektowanie Aplikacji Internetowych Projektowanie logiki aplikacji Zagadnienia Rozproszone przetwarzanie obiektowe (DOC) Model klas w projektowaniu logiki aplikacji Klasy encyjne a klasy
Technologie 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ść
Analiza 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
Warstwa integracji. wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe.
Warstwa integracji wg. D.Alur, J.Crupi, D. Malks, Core J2EE. Wzorce projektowe. 1. Ukrycie logiki dostępu do danych w osobnej warstwie 2. Oddzielenie mechanizmów trwałości od modelu obiektowego Pięciowarstwowy
Testowanie 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
Modelowanie. Wykład 1: Wprowadzenie do Modelowania i języka UML. Anna Kulig
Modelowanie Obiektowe Wykład 1: Wprowadzenie do Modelowania i języka UML Anna Kulig Wprowadzenie do modelowania Zasady Pojęcia Wprowadzenie do języka UML Plan wykładu Model jest uproszczeniem rzeczywistości.
Iteracyjno-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
Programowanie obiektowe
Programowanie obiektowe Metody statyczne i klasowe Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk (Wydział Fizyki) PO w. VI Jesień 2013 1 / 23 W poprzednich odcinkach... Klasy kategorie obiektów Przynależność
Programowanie 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
Program 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...
Interfejsy 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
Mechanizm dziedziczenia
Mechanizm dziedziczenia Programowanie obiektowe jako realizacja koncepcji ponownego wykorzystania kodu Jak przebiega proces dziedziczenia? Weryfikacja formalna poprawności dziedziczenia Realizacja dziedziczenia
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04 Cel zajęć. Celem zajęć jest zapoznanie się ze sposobem działania popularnych kolekcji. Wprowadzenie teoretyczne. Rozważana w ramach niniejszych
Model 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
Paweł Kurzawa, Delfina Kongo
Paweł Kurzawa, Delfina Kongo Pierwsze prace nad standaryzacją Obiektowych baz danych zaczęły się w roku 1991. Stworzona została grupa do prac nad standardem, została ona nazwana Object Database Management
Wykład 1 Inżynieria Oprogramowania
Wykład 1 Inżynieria Oprogramowania Wstęp do inżynierii oprogramowania. Cykle rozwoju oprogramowaniaiteracyjno-rozwojowy cykl oprogramowania Autor: Zofia Kruczkiewicz System Informacyjny =Techniczny SI
Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)
Plan wykładu Bazy danych Wykład 2: Diagramy zwizków encji (ERD) Diagramy zwizków encji elementy ERD licznoci zwizków podklasy klucze zbiory słabych encji Małgorzata Krtowska Katedra Oprogramowania e-mail:
Bazy danych. Plan wykładu. Proces modelowania i implementacji bazy danych. Elementy ERD. Wykład 2: Diagramy zwizków encji (ERD)
Plan wykładu Bazy danych Wykład 2: Diagramy zwizków encji (ERD) Diagramy zwizków encji elementy ERD licznoci zwizków podklasy klucze zbiory słabych encji Małgorzata Krtowska Katedra Oprogramowania e-mail:
Projektowanie obiektowe oprogramowania Wykład 4 wzorce projektowe cz.i. wzorce podstawowe i kreacyjne Wiktor Zychla 2015
Projektowanie obiektowe oprogramowania Wykład 4 wzorce projektowe cz.i. wzorce podstawowe i kreacyjne Wiktor Zychla 2015 1 Wzorce podstawowe 1.1 Interface vs Abstract class class InterfaceAbstractClass
Dziedziczenie. 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.
WYKŁ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
Analiza i projektowanie obiektowe 2016/2017. Wykład 10: Tworzenie projektowego diagramu klas
Analiza i projektowanie obiektowe 2016/2017 Wykład 10: Tworzenie projektowego diagramu klas Jacek Marciniak Wydział Matematyki i Informatyki Uniwersytet im. Adama Mickiewicza 1 Plan wykładu 1. Projektowy
Język programowania. Andrzej Bobyk http://www.alfabeta.lublin.pl. www.alfabeta.lublin.pl/jp/
Język programowania Andrzej Bobyk http://www.alfabeta.lublin.pl www.alfabeta.lublin.pl/jp/ Literatura K. Reisdorph: Delphi 6 dla każdego. Helion, Gliwice 2001 A. Grażyński, Z. Zarzycki: Delphi 7 dla każdego.
UML cz. II. UML cz. II 1/38
UML cz. II UML cz. II 1/38 UML cz. II 2/38 Klasy Najważniejsze informacje o klasie: różnica pomiędzy klasą a jej instancją (obiektem) na podstawie klasy tworzone są obiekty (instancje klasy) stan obiektu
Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016
Wykład 2 17 marca 2016 Dziedziczenie Klasy bazowe i potomne Dziedziczenie jest łatwym sposobem rozwijania oprogramowania. Majac klasę bazowa możemy ja uszczegółowić (dodać nowe pola i metody) nie przepisujac
Modelowanie obiektowe
Modelowanie obiektowe ZPO 2018/2019 Dr inż. W. Cichalewski Materiały wykonane przez W. Tylman Diagramy klas Diagramy klas Zawiera informacje o statycznych związkach między elementami (klasami) Są ściśle
Bazy 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
PHP 5 język obiektowy
PHP 5 język obiektowy Wprowadzenie Klasa w PHP jest traktowana jak zbiór, rodzaj różnych typów danych. Stanowi przepis jak stworzyć konkretne obiekty (instancje klasy), jest definicją obiektów. Klasa reprezentuje
Laboratorium 6 DIAGRAM KLAS (Class Diagram)
Laboratorium 6 DIAGRAM KLAS (Class Diagram) Opisuje strukturę programu (a także zależności między nimi), co znajduje odzwierciedlenie w kodzie. Charakteryzuje zależności pomiędzy składnikami systemu: klasami,
Dariusz 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
WZORCE 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
Instalacja Altium Designer Powizane wideo Altium Designer - Installation and Management
Instalacja Altium Designer Powizane wideo Altium Designer - Installation and Management Nadrzdny artyku: Pierwsze kroki z Altium Designer Podstawow metod instalacji Altium Designer (od wersji Altium Designer
Programowanie 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.
Modelowanie 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
Omó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
Prototype (prototyp) Cel: Przykład: Określenie rodzaju tworzonych obiektów poprzez wskazanie ich prototypu. Nowe instancje tworzymy kopiując prototyp.
1/14 Prototype (prototyp) Cel: Określenie rodzaju tworzonych obiektów poprzez wskazanie ich prototypu. Nowe instancje tworzymy kopiując prototyp. Przykład: Edytor 3D klient tworzy obiekty różnych kształtów
Enkapsulacja, dziedziczenie, polimorfizm
17 grudnia 2008 Spis treści I Enkapsulacja 1 Enkapsulacja 2 Spis treści II Enkapsulacja 3 Czym jest interfejs Jak definuje się interfejs? Rozszerzanie interfejsu Implementacja interfejsu Częściowa implementacja
Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r.
Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r. Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to
Programowanie 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
Modelowanie danych, projektowanie systemu informatycznego
Modelowanie danych, projektowanie systemu informatycznego Modelowanie odwzorowanie rzeczywistych obiektów świata rzeczywistego w systemie informatycznym Modele - konceptualne reprezentacja obiektów w uniwersalnym
Wzorce 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
Programowanie 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
WYKŁ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
Wprowadzenie do systemów informacyjnych
Uwagi ogólne: Wprowadzenie do systemów informacyjnych Projektowanie obiektowe Obiektowość jest nową ideologią, która zmienia myślenie realizatorów SI z zorientowanego na maszynę na zorientowane na człowieka.
Temat: 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
Diagram klas UML jest statycznym diagramem, przedstawiającym strukturę aplikacji bądź systemu w paradygmacie programowania obiektowego.
Umiejętność czytania oraz tworzenia diagramów klas UML jest podstawą w przypadku zawodu programisty. Z takimi diagramami będziesz spotykał się w przeciągu całej swojej kariery. Diagramy klas UML są zawsze
Programowanie obiektowe
Programowanie obiektowe Wykład 13 Marcin Młotkowski 27 maja 2015 Plan wykładu Trwałość obiektów 1 Trwałość obiektów 2 Marcin Młotkowski Programowanie obiektowe 2 / 29 Trwałość (persistence) Definicja Cecha
Singleton. Cel: Przykład: Zastosowanie: Zapewnienie, że klasa ma tylko jedną instancję i dostarczenie globalnego dostępu do niej.
1/8 Singleton Cel: Zapewnienie, że klasa ma tylko jedną instancję i dostarczenie globalnego dostępu do niej. Przykład: Niekiedy ważne jest, aby tworzyć tylko jedną instancję jakiejś klasy. Globalne zmienne
Programowanie w Javie nazwa przedmiotu SYLABUS A. Informacje ogólne
Programowanie w Javie nazwa SYLABUS A. Informacje ogólne Elementy składowe sylabusu Nazwa jednostki prowadzącej kierunek Nazwa kierunku studiów Poziom kształcenia Profil studiów Forma studiów Kod Język
Standardy danych w tagu EPC
Standardy danych w EPC Strona: 1 Standardy danych w tagu EPC W elektronicznym noniku danych, jakim jest tag EPC (Electronic Produkt Code), bdzie zapisany tylko numer identyfikacyjny. Bdzie to jeden z poniszych
Plan wykładu. Reguły asocjacyjne. Przykłady asocjacji. Reguły asocjacyjne. Jeli warunki to efekty. warunki efekty
Plan wykładu Reguły asocjacyjne Marcin S. Szczuka Wykład 6 Terminologia dla reguł asocjacyjnych. Ogólny algorytm znajdowania reguł. Wyszukiwanie czstych zbiorów. Konstruowanie reguł - APRIORI. Reguły asocjacyjne
Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych
Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych mluckner@mini.pw.edu.pl http://www.mini.pw.edu.pl/~lucknerm Programy w Javie składają się z pakietów Pakiety zawierają definicje
TECHNOLOGIE OBIEKTOWE. Wykład 3
TECHNOLOGIE OBIEKTOWE Wykład 3 2 Diagramy stanów 3 Diagram stanu opisuje zmiany stanu obiektu, podsystemu lub systemu pod wpływem działania operacji. Jest on szczególnie przydatny, gdy zachowanie obiektu
Wprowadzenie niektórych zagadnień OOP oraz wzorce operacyjne
Wprowadzenie niektórych zagadnień OOP oraz wzorce operacyjne ŁUKASZ KIEŁCZYKOWSKI 1 1. Wprowadzenie Wyobraźmy sobie, że jesteśmy firmą tworzącą oprogramowanie i dostaliśmy właśnie zlecenie na stworzenie
Podstawy Programowania Obiektowego
Podstawy Programowania Obiektowego Wprowadzenie do programowania obiektowego. Pojęcie struktury i klasy. Spotkanie 03 Dr inż. Dariusz JĘDRZEJCZYK Tematyka wykładu Idea programowania obiektowego Definicja