ODWZOROWANIE OBIEKTOWO-RELACYJNE
|
|
- Bartosz Wilczyński
- 8 lat temu
- Przeglądów:
Transkrypt
1 PODSTAWY BAZ DANYCH Mateusz Wojtaszek Agnieszka Walczak Kamil Lisiecki ODWZOROWANIE OBIEKTOWO-RELACYJNE
2 Co to jest ORM? ORM to skrótowe oznaczenie dla "mapowanie obiektowo-relacyjne" (od angielskiego Object-Relational Mapping). Chodzi więc o zamianę danych w postaci tabelarycznej (relacji w bazie danych) na obiekty, albo w drugą stronę. Jest nowoczesnym podejściem do zagadnienia współpracy z bazą danych, wykorzystującym filozofię programowania obiektowego.
3 Skąd ten pomysł? Idea ORM zaczęła się wykluwać w czasach euforii z powodu upowszechnienia programowania obiektowego. Wizjonerzy informatyki wierzyli, że przyszłość będzie należała do obiektowych baz danych. Czyli dane pamiętane w obiektach programu byłyby w takiej samej formie zapisywane w bazie danych, bez dodatkowych operacji zmieniających format z obiektowego na relacyjny i z powrotem.
4 Krótki rys historyczny pierwsze narzędzia do mapowania ORM dla Javy - TopLink, powstaje J2EE - standard tworzenia wielowarstwowych aplikacji komponentowych. W jego skład wchdzi standard Enterprise Java Beans (1.1). Standard J2EE jest skomplikowany, miescami mało czytelny, a do tego wymaga kosztownych serwerów aplikacji (aczkolwiek z czasem pokazują się darmowe). J2EE znajduje zastodowanie w dużych aplikacjach korporacyjnych, pojawia się szereg bibliotek i narzedzi dla Javy, mających być substytutem różnych funkcjnalności J2EE. W dziedzinie mapowania obiektowo-relacyjnego powstają narzędzia takie jak Hibernate, TopLink(zostaje przejęty przez Oracla), ibatis. Największą popularność zdobywa Hibernate. Rozwiązania ORM trafiają do małych i średnich systemów.
5 Krótki rys historyczny cd opublikowanie standardu Java EE 5, kolejnej wersji J2EE. Java EE 5 jest znacznie uproszczona w stosunku do dawnego J2EE, w jej skład wchodzi definicja standardu JPA - standardu definiowania mapowania obiektowo-relacyjnego i korzystania z trwałych obiektów. JPA jest dużo prostrze od EJB 1.1, między innymi dzięki temu, że twórcy zaczerpnęli bardzo dużo pomysłów i narzędzi takich jak Hibernate powstaje Hibernate EntityManager, implementacja JPA oparta o dotychczasowego Hibernate. Pozostali twórcy narzedzi ORM również dostosowują się do nowego standardu.
6 Elementy technologii ORM 1. API (Application Programming Interface, czyli Interfejs programowania aplikacji) do zarządzania trwałością obiektów 2. Mechanizm specyfikowania metadanych opisujących odwzorowanie klas na relacje w bazach danych 3. Język lub API do wykonywania zapytań. Najpopularniejsze implementacje technologii odwzorowania obiektowo-relacyjnego dla aplikacji Java to Hibernate (rozwiązanie Open Source firmy JBoss) i Oracle Toplink. (rozwiązanie firmowe firmy Oracle). Mniejszą popularność zyskała technologia JDO (firmy Sun).
7 Dlaczego mapowanie OBIEKTOWE? Koncepcja programowania obiektowego i projektowania systemów informatycznych w oparciu o paradygmat obiektowości okrzepła, ustabilizowała się i jest obecnie standardem. Dysponujemy dobrymi narzędziami do wspomagania projektowania (np. Rational Rose czy też Enterprise Architect), mamy dojrzałe obiektowe języki programowania (Java, C#). Możliwe jest płynne przejście od biznesowych założeń, przez specyfikację wymagań, projekt techniczny do gotowego programu. Czy na pewno?
8 ODP: NIE Dlaczego? Niestety, jak dotąd nie powstała powszechnie akceptowana koncepcja obiektowej bazy danych. Pojawiły się oczywiście różne koncepcje obiektowych baz danych : 1. repozytoria XML (cała baza to jeden/wiele dokumentów XML); 2. do języków typu Java czy C# pozwalające na przechowywanie zserializowanych obiektów, (Serializacja w programowaniu komputerów proces przekształcania obiektów, tj. instancji określonych klas, do postaci szeregowej, czyli w strumień bajtów, z zachowaniem aktualnego stanu obiektu),
9 Jak wygląda praktyka? W praktyce wszyscy korzystają nadal z relacyjnych baz danych, gdyż systemy zarządzania relacyjnymi bazami danych są szybkie, stabilne i bezpieczne. Poważnym problemem jest przełożenie logicznej obiektowej struktury systemu na relacyjną bazę danych, podobnie nie jest oczywiste korzystanie z takiej bazy danych w obiektowej aplikacji
10 Ogólny przykład: Przykładowo, aby zmienić hasło użytkownika w bazi danych użytkowników musimy wykonać poniższą operację : public void changepassword(user u, String newpassword) { con.preparestatement("update tab_users SET password =? WHERE login =?"). setstring(1, u.getpassword()). setstring(2, u.getlogin()).execute(); }
11 Ogólny przykład cd. Podczas gdy my, chcielibyśmy, aby taka operacja wyglądała następująco: public void changepassword(user u, String newpassword) { u.setpassword(newpassword); } a więc bez konieczności "grzebania" w relacyjnej bazie danych. Tutaj wkracza mapowanie obiektowo-relacyjne.
12 Konkretny przykład: HIBERNATE (Java) Najpopularniejsza implementacja odwzorowania obiektowo-relacyjnego dla języka Java CECHY: Wysoka wydajność i skalowalność Wiele sposobów wydawania zapytań Wykorzystuje siłę technologii relacyjnych baz danych Obecnie jedna z implementacji standardu Java Persistance
13 Hibernate- garść informacji Hibernate to najpopularniejsza implementacja odwzorowania obiektowo-relacyjnego dla języka Java. Założeniem jego twórców było zaoferowanie rozwiązania określanego po angielsku jako Relational Presistance for Idiomatic Java, co oznacza zapewnienie trwałości obiektów ze wsparciem dla wszystkich mechanizmów obiektowych języka Java, takich jak obsługa: asocjacji, kompozycji, dziedziczenia, polimorfizmu i kolekcji. Hibernate jest rozwiązaniem kategorii Professional Open Source. Z jednej strony jego źródlą są dostępne, a z drugiej jest on rozwijany przez firmę JBoss, będącą znaczącym graczem na rynku serwerów aplikacji.
14 Konkretny przykład: LINQ (C#) część technologii Microsoft.NET, która została opracowana przez Andersa Hejlsberga znanego z zaprojektowania języka C# i Delphi. LINQ jest jedną z najpopularniejszych implementacji odwzorowania obiektoworelacyjnego dla języka C#
15 LINQ- garść informacji LINQ stanowi warstwę abstrakcji nad różnymi źródłami danych. Baza danych i jej elementy traktowane są również jak obiekty. Przestrzenie, które obsługuje LINQ, to: obiekty implementujące interfejs IEnumerable<T> bazy danych język XML LINQ posiada pełne wsparcie dla transakcji, widoków oraz procedur przechowanych. Zapytania stają się częścią języka.net wspierającego.net 3.5 (C#, Visual Basic, Delphi Prism itd.). Jeśli LINQ ma działać, musi znać mapę całej bazy danych. Zapytanie LINQ zwraca kolekcję z przestrzeni nazw typów ogólnych. Kolekcja ta może być modyfikowana, a następnie zwrócona do źródła. Dzięki temu zachowywana jest pełna kontrola typów danych i ich konwersji w poszczególnych mechanizmach pośredniczących w pobieraniu danych.
16 Podsumowując możliwości ORM Ogółem mówiąc, dzięki ORM możemy: zdefiniować odwzorowanie zawartości relacyjnej bazy danych na obiekty w używanym przez nas języku programowania, wykonywać operacje na danych w bazie danych tak jak na zwykłych obiektach języka programowania.
17 PRACA Z ORM: Kroki postępowania cz.1 1. Tworzymy model danych w obiektowym języku programowania. 2. Tworzymy schemat bazy danych odpowiadający temu modelowi (może się oczywiście okazać, że już mamy jakąś bazę danych, z którą musimy współpracować). 3. Definiujemy odwzorowanie bazy danych na model relacyjny.
18 PRACA Z ORM: Kroki postępowania cz.2 4. Tworzymy aplikację obiektową operującą na modelu obiektowym (tworząc kod aplikacji w zasadzie nie musimy się zastanawiać nak nasze obiekty zostaną zapisane). 5. W razie konieczności pobrania obiektów z bazy danych, bądź utrwalenia jakiegoś nowo utworzonego obiektu, czy też usunięcia utrwalonego obiektu - posługujemy się odpowiednim API danego narzędzia ORM. To jest jedyne miejsce, w którym w naszej aplikacji przejmujemy się tym, że współpracujemy z jakąś bazą danych.
19 Zalety ORM cz.1 I ty zostaniesz programistą Największą zaletą ORM jest niebywała prostota użytkowania. Ponadto, informatycy to ludzie zazwyczaj dość inteligentni. Czemu więc próbowano w miejsce tradycyjnych, sprawdzonych rozwiązań (Tradycyjne Bazy) wprowadzić coś całkowicie odmiennego? Kolejną zaletą jest to, że pomysł był intelektualnie atrakcyjny i łatwo można było przekonać dysponentów kapitału, że warto w niego pakować miliony. A drugą - że można było wykazać ekonomiczną opłacalność takiej inwestycji.
20 Zalety ORM cz.2 Żeby to zrozumieć, musimy wiedzieć na co firmy wydają pieniądze w ramach informatyzacji. Obrazuje to doskonale stary rysunek
21 Zalety ORM cz.3 Ilość pośredników między klientem a programistą sprawia, że klient dostaje produkt drogi i niedostosowany do jego potrzeb. Dzięki obiektowym bazom danych pozbywamy się co najmniej jednego pośrednika: programisty baz danych. Na dodatek analityk, który potrafi opisać rzeczywistość w postaci obiektów uzyskuje wgląd i kontrolę nad całym procesem produkcji. Opisany przez niego obiekt pojawia się w całym procesie tworzenia oprogramowania: od projektu po bazę danych
22 Tabelki trzymają się mocno Pomimo, że programowanie obiektowe zdominowało przemysł software owy, w bazach danych królują nadal tradycyjne rozwiązania. Dlaczego? Bo są dobre i sprawdzone w milionach wdrożeń. Firmie Microsoft udało się przekonać ludzi, że potrzebują co raz to nowego systemu na swoje PC-ty, bo to wbrew pozorom nie są to duże koszty. Zmiana bazy danych często powoduje konieczność głębokiej przebudowy systemu i generuje olbrzymie koszty. Jeśli już więc chcemy wdrażać model obiektowy, to zdecydowanie lepiej zacząć od nowych aplikacji. A ponieważ te aplikacje muszą często czerpać dane z "przestarzałych" baz - pojawia się pole do popisu dla ORM. Odpuszczono więc same bazy danych, ale postanowiono je opakować obiektami, tak by nie straszyły swą przestarzałą strukturą.
23 Zasadnicze wady ORM 1. Często musimy tworzyć aplikacje korzystające z gotowych danych i żadne mechanizmy synchronizacji nie wchodzą w rachubę. 2. Wiele aplikacji obecnych na rynku ma tak fatalnie zaprojektowane bezy danych, że zapytania bywają bardzo złożone. Napisanie ich w modelu obiektowym mija się po prostu z celem
24 Zasadnicze wady ORM cd. 4. Testując aplikację, możemy śledzić kod programu i jego efekty w bazie danych (lub na ekranie). Programując w tradycyjny sposób, te dwa źródła informacji mamy tuż obok siebie. W modelu ORM pomiędzy nimi jest masa niezrozumiałego kodu, który 'coś' robi. Jeśli na dodatek jest to obce oprogramowanie, znalezienie źródła błędu jest utrudnione 5. Przyłączenie do bazy jest zaimplementowane "gdzieś" w bibliotece... Jeśli wszystko jest zgodne z tym, co programista ORM sobie umyślił, to nie ma problemu. Ale jeśli na przykład w bazie jest inne kodowanie polskich znaków?
25 Najpoważniejsza wada ORM Na koniec rzecz, która może się wydawać szukaniem dziury w całym. Chodzi o projektowanie baz danych. Jest to sztuka ważna i poświęcono jej mnóstwo książek. Od lat jednak przemysł software owy dostarcza rozwiązań, które zdają się problemy dobrego projektu bazy danych unieważniać. Wskutek tego większość baz nie jest efektywna, a czasem bywają one koszmarne. Gdy taka baza ma kilkaset tabel, a brak jest szczegółowej dokumentacji, wyszukiwanie informacji w niej jest bardzo trudne.
26 Ocena końcowa Pomimo zawartej w prezentacji krytyki nie należy uważać, by ORM należało na stałe skreślić ze słownika ważnych pojęć związanych z programowaniem. Jednak umiejętność projektowania baz danych pozostaje jedną z kluczowych dla informatyka. ORM może być atrakcyjny jedynie w stosunkowo prostych projektach.
27 Dziękujemy za uwagę!
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
Bardziej szczegółowoInformacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4
Utrwalanie danych zastosowanie obiektowego modelu danych warstwy biznesowej do generowania schematu relacyjnej bazy danych Informacje wstępne Autor Zofia Kruczkiewicz Wzorce oprogramowania 4 1. Relacyjne
Bardziej szczegółowoPodyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle
Podyplomowe Studium Informatyki w Bizniesie Wydział Matematyki i Informatyki, Uniwersytet Łódzki specjalność: Tworzenie aplikacji w środowisku Oracle EFEKTY KSZTAŁCENIA Wiedza Absolwent tej specjalności
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ółowoProjektowanie aplikacji z bazami danych
Systemy mapowania relacyjno-obiektowego Instytut Informatyki Uniwersytet Wrocławski Plan wykładu Wprowadzenie do trwałości Niedopasowanie paradygmatów Architektura warstwowa Czym jest ORM? Problemy i pytania
Bardziej szczegółowo1 Wprowadzenie do J2EE
Wprowadzenie do J2EE 1 Plan prezentacji 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji J2EE Główne cele V Szkoły PLOUG - nowe podejścia do konstrukcji aplikacji J2EE Java 2
Bardziej szczegółowoWarstwa 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
Bardziej szczegółowoMapowanie obiektowo-relacyjne z wykorzystaniem Hibernate
Wirtualne przedsiębiorstwo II Mapowanie obiektowo-relacyjne z wykorzystaniem Hibernate Łukasz Macierzyński 157588 Daniel Nikończuk 157621 Kacper Oko 157626 Agenda 1. Co to jest mapowanie obiektowo-relacyjne
Bardziej szczegółowoProjektowanie obiektowe oprogramowania Wzorce architektury aplikacji (3) Wykład 11 Repository, Unit of Work Wiktor Zychla 2016
Projektowanie obiektowe oprogramowania Wzorce architektury aplikacji (3) Wykład 11 Repository, Unit of Work Wiktor Zychla 2016 Repository dodatkowa warstwa abstrakcji na obiektową warstwę dostępu do danych.
Bardziej szczegółowoGrzegorz Ruciński. Warszawska Wyższa Szkoła Informatyki 2011. Promotor dr inż. Paweł Figat
Grzegorz Ruciński Warszawska Wyższa Szkoła Informatyki 2011 Promotor dr inż. Paweł Figat Cel i hipoteza pracy Wprowadzenie do tematu Przedstawienie porównywanych rozwiązań Przedstawienie zalet i wad porównywanych
Bardziej szczegółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki Język programowania prosty bezpieczny zorientowany obiektowo wielowątkowy rozproszony przenaszalny interpretowany dynamiczny wydajny Platforma
Bardziej szczegółowoEJB 3.0 (Enterprise JavaBeans 3.0)
EJB 3.0 (Enterprise JavaBeans 3.0) Adrian Dudek Wirtualne Przedsiębiorstwo 2 Wrocław, 1 czerwca 2010 Plan prezentacji 1 Wprowadzenie Cel prezentacji Czym jest EJB 3.0? Historia 2 3 Cel prezentacji Wprowadzenie
Bardziej szczegółowoProgramowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE)
Programowanie w języku Java Wykład 13: Java Platform, Enterprise Edition (Java EE) Standard J2EE Programowanie w języku Java 2 J2EE - komunikacja Programowanie w języku Java 3 J2EE warstwa biznesowa Programowanie
Bardziej szczegółowoWykład I. Wprowadzenie do baz danych
Wykład I Wprowadzenie do baz danych Trochę historii Pierwsze znane użycie terminu baza danych miało miejsce w listopadzie w 1963 roku. W latach sześcdziesątych XX wieku został opracowany przez Charles
Bardziej szczegółowoDokument Detaliczny Projektu
Dokument Detaliczny Projektu Dla Biblioteki miejskiej Wersja 1.0 Streszczenie Niniejszy dokument detaliczny projektu(ddp) przedstawia szczegóły pracy zespołu projektowego, nad stworzeniem aplikacji bazodanowej
Bardziej szczegółowoCzym jest Java? Rozumiana jako środowisko do uruchamiania programów Platforma software owa
1 Java Wprowadzenie 2 Czym jest Java? Język programowania prosty zorientowany obiektowo rozproszony interpretowany wydajny Platforma bezpieczny wielowątkowy przenaszalny dynamiczny Rozumiana jako środowisko
Bardziej szczegółowoINFORMATYKA Pytania ogólne na egzamin dyplomowy
INFORMATYKA Pytania ogólne na egzamin dyplomowy 1. Wyjaśnić pojęcia problem, algorytm. 2. Podać definicję złożoności czasowej. 3. Podać definicję złożoności pamięciowej. 4. Typy danych w języku C. 5. Instrukcja
Bardziej szczegółowoMAPOWANIE OBIEKTOWO-RELACYJNE (ORM) CZY TYLKO DOBRA IDEA?
ZESZYTY NAUKOWE 99-112 Zbigniew ROSIEK 1 MAPOWANIE OBIEKTOWO-RELACYJNE (ORM) CZY TYLKO DOBRA IDEA? Streszczenie Mapowanie obiektowo-relacyjne (ORM) jest nowoczesnym podejściem do zagadnienia współpracy
Bardziej szczegółowoSTUDIA STACJONARNE I STOPNIA Przedmioty kierunkowe
STUDIA STACJONARNE I STOPNIA Przedmioty kierunkowe Technologie informacyjne Prof. dr hab. Zdzisław Szyjewski 1. Rola i zadania systemu operacyjnego 2. Zarządzanie pamięcią komputera 3. Zarządzanie danymi
Bardziej szczegółowoProgramowanie Komponentowe WebAPI
Programowanie Komponentowe WebAPI dr inż. Ireneusz Szcześniak jesień 2016 roku WebAPI - interfejs webowy WebAPI to interfejs aplikacji (usługi, komponentu, serwisu) dostępnej najczęściej przez Internet,
Bardziej szczegółowoDokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor
Koszalin, 15.06.2012 r. Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor Zespół projektowy: Daniel Czyczyn-Egird Wojciech Gołuchowski Michał Durkowski Kamil Gawroński Prowadzący: Dr inż.
Bardziej szczegółowoPodstawy 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
Bardziej szczegółowoWybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej Java Enterprise Edition WebServices Serwer aplikacji GlassFish Dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki Aplikacje
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ółowoMetody dostępu do danych
Metody dostępu do danych dr inż. Grzegorz Michalski Na podstawie materiałów dra inż. Juliusza Mikody Jak działa JDO Podstawowym zadaniem JDO jest umożliwienie aplikacjom Javy transparentnego umieszczenia
Bardziej szczegółowoUniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.
Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej Wstęp Programowanie w Javie 2 mgr inż. Michał Misiak Agenda Założenia do wykładu Zasady zaliczeń Ramowy program wykładu
Bardziej szczegółowoSystemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi
Systemy baz danych w zarządzaniu przedsiębiorstwem W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi Proces zarządzania danymi Zarządzanie danymi obejmuje czynności: gromadzenie
Bardziej szczegółowoUsługi analityczne budowa kostki analitycznej Część pierwsza.
Usługi analityczne budowa kostki analitycznej Część pierwsza. Wprowadzenie W wielu dziedzinach działalności człowieka analiza zebranych danych jest jednym z najważniejszych mechanizmów podejmowania decyzji.
Bardziej szczegółowoŚrodowiska i platformy programistyczne
Środowiska i platformy programistyczne 1 Rys historyczny lata 80-90: efektywność! Cel: zwiększyć efektywność programisty jedno narzędzie: integracja edytor kodu, funkcje programistyczne (kompilacja, łączenie,
Bardziej szczegółowoBazy danych. Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI
Bazy danych Zenon Gniazdowski WWSI, ITE Andrzej Ptasznik WWSI Wszechnica Poranna Trzy tematy: 1. Bazy danych - jak je ugryźć? 2. Język SQL podstawy zapytań. 3. Mechanizmy wewnętrzne baz danych czyli co
Bardziej szczegółowoPodczas dziedziczenia obiekt klasy pochodnej może być wskazywany przez wskaźnik typu klasy bazowej.
Polimorfizm jest filarem programowania obiektowego, nie tylko jeżeli chodzi o język C++. Daje on programiście dużą elastyczność podczas pisania programu. Polimorfizm jest ściśle związany z metodami wirtualnymi.
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ółowoUniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki. Paweł Parys. Nr albumu: 209216. Aukcjomat
Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki Paweł Parys Nr albumu: 209216 Aukcjomat Praca licencjacka na kierunku INFORMATYKA w zakresie INFORMATYKA Praca wykonana pod kierunkiem
Bardziej szczegółowoTechnologia informacyjna
Technologia informacyjna Bazy danych Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2016 Plan wykładu Wstęp do baz danych Modele baz danych Relacyjne bazy danych Język SQL Rodzaje
Bardziej szczegółowoUML w Visual Studio. Michał Ciećwierz
UML w Visual Studio Michał Ciećwierz UNIFIED MODELING LANGUAGE (Zunifikowany język modelowania) Pozwala tworzyć wiele systemów (np. informatycznych) Pozwala obrazować, specyfikować, tworzyć i dokumentować
Bardziej szczegółowoEkspert MS SQL Server Oferta nr 00/08
Ekspert MS SQL Server NAZWA STANOWISKA Ekspert Lokalizacja/ Jednostka organ.: Pion Informatyki, Biuro Hurtowni Danych i Aplikacji Wspierających, Zespół Jakości Oprogramowania i Utrzymania Aplikacji Szczecin,
Bardziej szczegółowoKurs 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
Bardziej szczegółowoW grze bierze udział dwóch graczy. Każdy uczestnik rozpoczyna rozgrywkę z sumą
2.4 QuestionGame QuestionGame jest grą z celem zaprojektowaną do gromadzenia pytań zadawanych przez ludzi podczas prób rozpoznawania ras psów. Program ma charakter aplikacji internetowej. W rozgrywcę mogą
Bardziej szczegółowoprogramowanie w oparciu o platformę netbeans w praktyce
programowanie w oparciu o platformę netbeans w praktyce Adam Kędziora. Netbeans innovators grants. Mechanizm lookup jako panorama firm. Węzły w netbeans. Mechanizm lookup jako torba z narzędziami. Dwa
Bardziej szczegółowoBazy danych 2. Wykład 1
Bazy danych 2 Wykład 1 Sprawy organizacyjne Materiały i listy zadań zamieszczane będą na stronie www.math.uni.opole.pl/~ajasi E-mail: standardowy ajasi@math.uni.opole.pl Sprawy organizacyjne Program wykładu
Bardziej szczegółowoPHP: bazy danych, SQL, AJAX i JSON
1 PHP: bazy danych, SQL, AJAX i JSON SYSTEMY SIECIOWE Michał Simiński 2 Bazy danych Co to jest MySQL? Jak się połączyć z bazą danych MySQL? Podstawowe operacje na bazie danych Kilka dodatkowych operacji
Bardziej szczegółowoSpis treúci. 1. Wprowadzenie... 13
Księgarnia PWN: W. Dąbrowski, A. Stasiak, M. Wolski - Modelowanie systemów informatycznych w języku UML 2.1 Spis treúci 1. Wprowadzenie... 13 2. Modelowanie cele i metody... 15 2.1. Przegląd rozdziału...
Bardziej szczegółowoTechnologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski
Technologie dla aplikacji klasy enterprise Wprowadzenie Marek Wojciechowski Co oznacza enterprise-ready? Bezpieczeństwo Skalowalność Stabilność Kompatybilność wstecz Wsparcie Dokumentacja Łatwość integracji
Bardziej szczegółowoTworzenie komponentów logiki biznesowej i warstwy dostępu do danych w oparciu o EJB3.0/JPA lub EJB 3.1/JPA2
Kod szkolenia: Tytuł szkolenia: EJB Tworzenie komponentów logiki biznesowej i warstwy dostępu do danych w oparciu o EJB3.0/JPA lub EJB 3.1/JPA2 Dni: 3 Opis: Adresaci szkolenia: Szkolenie adresowane jest
Bardziej szczegółowoOracle11g: Wprowadzenie do SQL
Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom
Bardziej szczegółowoTransformacja wiedzy w budowie i eksploatacji maszyn
Uniwersytet Technologiczno Przyrodniczy im. Jana i Jędrzeja Śniadeckich w Bydgoszczy Wydział Mechaniczny Transformacja wiedzy w budowie i eksploatacji maszyn Bogdan ŻÓŁTOWSKI W pracy przedstawiono proces
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ółowoPojęcie systemu baz danych
Pojęcie systemu baz danych System baz danych- skomputeryzowany system przechowywania danych/informacji zorganizowanych w pliki. Składa się z zasadniczych elementów: 1) Danych 2) Sprzętu 3) Programów 4)
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ółowoPlatformy programistyczne:.net i Java L ABORATORIUM 7,8: HACKATHON - JTTT
Platformy programistyczne:.net i Java L ABORATORIUM 7,8: HACKATHON - JTTT O co chodzi? - Przypomnienie Hackathon - http://en.wikipedia.org/wiki/hackathon A hackathon is an event in which computer programmers
Bardziej szczegółowoKról Łukasz Nr albumu: 254102
Król Łukasz Nr albumu: 254102 Podstawy o Delphi Język programowania, którego można używać w środowiskach firmy Borland, Embarcadero, Microsoft (Delphi Prism), oraz w środowisku Lazarus. Narzędzia te są
Bardziej szczegółowoDiagram 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
Bardziej szczegółowoDokument Detaliczny Projektu
Dokument Detaliczny Projektu Dla Biblioteki miejskiej Wersja 1.0 Streszczenie Niniejszy dokument detaliczny projektu(ddp) przedstawia szczegóły pracy zespołu projektowego, nad stworzeniem aplikacji bazodanowej
Bardziej szczegółowoKomputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy
Programowanie w C++ 1.Czym jest programowanie Pisanie programów to wcale nie czarna magia, tylko bardzo logiczna rozmowa z komputerem. Oczywiście w jednym ze specjalnie stworzonych do tego celu języków.
Bardziej szczegółowoAUREA BPM Oracle. TECNA Sp. z o.o. Strona 1 z 7
AUREA BPM Oracle TECNA Sp. z o.o. Strona 1 z 7 ORACLE DATABASE System zarządzania bazą danych firmy Oracle jest jednym z najlepszych i najpopularniejszych rozwiązań tego typu na rynku. Oracle Database
Bardziej szczegółowoPaweł 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
Bardziej szczegółowoTemat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
Bardziej szczegółowoWykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych
Wykorzystanie standardów serii ISO 19100 oraz OGC dla potrzeb budowy infrastruktury danych przestrzennych dr inż. Adam Iwaniak Infrastruktura Danych Przestrzennych w Polsce i Europie Seminarium, AR Wrocław
Bardziej szczegółowoPoczątki Javy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 8
Początki Javy Java została pierwotnie zaprojektowana dla telewizji interaktywnej, ale była to zbyt zaawansowaną technologią dla branży cyfrowej telewizji kablowej. James Gosling, Mike Sheridan i Patrick
Bardziej szczegółowoKomputerowe 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
Bardziej szczegółowoDotacje na innowacje. Inwestujemy w waszą przyszłość.
PROJEKT TECHNICZNY Implementacja Systemu B2B w firmie Lancelot i w przedsiębiorstwach partnerskich Przygotowane dla: Przygotowane przez: Lancelot Marek Cieśla Grzegorz Witkowski Constant Improvement Szkolenia
Bardziej szczegółowoKonspekt pracy inżynierskiej
Konspekt pracy inżynierskiej Wydział Elektryczny Informatyka, Semestr VI Promotor: dr inż. Tomasz Bilski 1. Proponowany tytuł pracy inżynierskiej: Komunikator Gandu na platformę mobilną Android. 2. Cel
Bardziej szczegółowoWłodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski. Bazy danych ITA-101. Wersja 1
Włodzimierz Dąbrowski, Przemysław Kowalczuk, Konrad Markowski Bazy danych ITA-101 Wersja 1 Warszawa, wrzesień 2009 Wprowadzenie Informacje o kursie Opis kursu We współczesnej informatyce coraz większą
Bardziej szczegółowoSpis treści. Przedmowa
Spis treści Przedmowa V 1 SQL - podstawowe konstrukcje 1 Streszczenie 1 1.1 Bazy danych 1 1.2 Relacyjny model danych 2 1.3 Historia języka SQL 5 1.4 Definiowanie danych 7 1.5 Wprowadzanie zmian w tabelach
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu Programowanie obiektowe - zestaw 03 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas abstrakcyjnych i interfejsów. Wprowadzenie
Bardziej szczegółowoProgramowanie w Javie 2. Płock, 26 luty 2014 r.
Programowanie w Javie 2 Płock, 26 luty 2014 r. Zaliczenie wykładu i ćwiczeń Zaliczenie ćwiczeń (projekt na zaliczenie, 3 prace domowe) Zaliczenie wykładu (referat na 1h) Ocena ćwiczeń: 70% projekt + 30%
Bardziej szczegółowoSQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści
SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop. 2016 Spis treści O autorach 11 Podziękowania 12 Część I Wprowadzenie do języka SQL 13 Godzina 1. Witamy w świecie języka SQL 15
Bardziej szczegółowoAutomatyczne generowanie kodu. Marek.Berkan@e-point.pl. 4Developers, 26 marca 2010
4Developers, 26 marca 2010 Zakres wykładu O czym zamierzam opowiedzieć: Przyspieszenie tworzenia aplikacji Ułatwienie utrzymania aplikacji Budowanie kontraktów pomiędzy developerami a innymi uczestnikami
Bardziej szczegółowoBaza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.
PI-14 01/12 Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.! Likwidacja lub znaczne ograniczenie redundancji (powtarzania się) danych! Integracja danych!
Bardziej szczegółowoZofia 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
Bardziej szczegółowoWzorce projektowe i refaktoryzacja
Wzorce projektowe i refaktoryzacja Paweł Kozioł p.koziol@students.mimuw.edu.pl 18.01.2005 Moja praca magisterska Narzędzie dla środowiska Eclipse wspierające stosowanie wzorców projektowych J2EE Prowadzący:
Bardziej szczegółowoCzym jest jpalio? jpalio jpalio jpalio jpalio jpalio jpalio jpalio jpalio
Czym jest jpalio? jpalio to unikalna platforma technologiczna pozwalająca na stworzenie szeregu produktów dostosowanych do indywidualnych preferencji klienta. W naszej ofercie znajduje się m.in. system
Bardziej szczegółowo76.Struktura oprogramowania rozproszonego.
76.Struktura oprogramowania rozproszonego. NajwaŜniejsze aspekty obiektowego programowania rozproszonego to: Współdziałanie (interoperability) modułów programowych na róŝnych maszynach. Wielokrotne wykorzystanie
Bardziej szczegółowoSOP System Obsługi Parkingów
SOP System Obsługi Parkingów JEE i Android Marcin Tatjewski Tomasz Traczyk Grzegorz Zieliński Paweł Borycki 5 listopada 2009 www.sopark.pl Plan prezentacji Java Platform, Enterprise Edition (JEE) Wstęp
Bardziej szczegółowoProjektowanie 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
Bardziej szczegółowoZałącznik Nr 5 do Zarz. Nr 33/11/12
Załącznik Nr 5 do Zarz. Nr 33/11/12 (pieczęć wydziału) KARTA PRZEDMIOTU Z1-PU7 WYDANIE N1 Strona 1 z 5 1. Nazwa przedmiotu: INTERFEJSY OBIEKTOWO- RELACYJNE 3. Karta przedmiotu ważna od roku akademickiego:
Bardziej szczegółowoSTUDIA NIESTACJONARNE I STOPNIA Przedmioty kierunkowe
STUDIA NIESTACJONARNE I STOPNIA Przedmioty kierunkowe Technologie informacyjne prof. dr hab. Zdzisław Szyjewski 1. Rola i zadania systemu operacyjnego 2. Zarządzanie pamięcią komputera 3. Zarządzanie danymi
Bardziej szczegółowoSystem Obsługi Wniosków
System Obsługi Wniosków Wersja 2.0 1 System Obsługi Wniosków wersja 2.0 System Obsługi Wniosków to nowoczesne rozwiązanie wspierające proces obsługi wniosków o produkty bankowe. Pozwala na przyjmowanie,
Bardziej szczegółowoWprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek
Wprowadzenie Organizacja pracy i środowisko programistyczne Mirosław Ochodek Miroslaw.Ochodek@pwsz.pila.pl Miroslaw.Ochodek@cs.put.poznan.pl Dane kontaktowe Mirosław Ochodek E-mail: Miroslaw.Ochodek@pwsz.pila.pl
Bardziej szczegółowoWykład Ćwiczenia Laboratorium Projekt Seminarium
WYDZIAŁ ELEKTRONIKI KARTA PRZEDMIOTU Nazwa w języku polskim Języki programowania Nazwa w języku angielskim Programming languages Kierunek studiów (jeśli dotyczy): Informatyka - INF Specjalność (jeśli dotyczy):
Bardziej szczegółowoBazy danych Wykład zerowy. P. F. Góra
Bazy danych Wykład zerowy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Patron? Św. Izydor z Sewilli (VI wiek), biskup, patron Internetu (sic!), stworzył pierwszy katalog Copyright c 2011-12 P.
Bardziej szczegółowoRelacyjne, a obiektowe bazy danych. Bazy rozproszone
2 Relacyjne, a obiektowe bazy danych. Bazy rozproszone Zastosowania baz danych systemy bankowe (bankomat) systemy masowej obsługi (hipermarket) rezerwacja biletów lotniczych telefonia komórkowa (sms) Dziekanat
Bardziej szczegółowoPRZEWODNIK PO PRZEDMIOCIE
Nazwa przedmiotu: Kierunek: Mechatronika Rodzaj przedmiotu: obowiązkowy w ramach treści kierunkowych Rodzaj zajęć: wykład, laboratorium BAZY DANYCH I SYSTEMY EKSPERTOWE Database and expert systems Forma
Bardziej szczegółowoZARZĄDZANIU. Wykład VI. dr Jan Kazimirski
INFORMATYKA W ZARZĄDZANIU Wykład VI dr Jan Kazimirski jankazim@mac.edu.pl http://www.mac.edu.pl/jankazim MODELOWANIE SYSTEMÓW UML Literatura Joseph Schmuller UML dla każdego, Helion 2001 Perdita Stevens
Bardziej szczegółowoOFERTA SZKOLENIOWA PROGRESS SOFTWARE
OFERTA SZKOLENIOWA PROGRESS SOFTWARE Szanowni Państwo, Zapraszamy do zapoznania się z naszą ofertą szkoleń w systemie Progress. Kursy organizowane są dla małych grup 3-6 osobowych, w Warszawie. Każdy uczestnik
Bardziej szczegółowoGrupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów niestacjonarnych studiów II stopnia)
Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów niestacjonarnych studiów II stopnia) WERSJA WSTĘPNA, BRAK PRZYKŁADOWYCH PYTAŃ DLA NIEKTÓRYCH PRZEDMIOTÓW Należy wybrać trzy dowolne
Bardziej szczegółowoMariusz Trzaska Modelowanie i implementacja systemów informatycznych
Mariusz Trzaska Modelowanie i implementacja systemów informatycznych Notka biograficzna Dr inż. Mariusz Trzaska jest adiunktem w Polsko-Japońskiej Wyższej Szkole Technik Komputerowych, gdzie zajmuje się
Bardziej szczegółowoProgramowanie obiektowe. Wprowadzenie
1 Programowanie obiektowe Wprowadzenie 2 Programowanie obiektowe Object-oriented programming Najpopularniejszy obecnie styl (paradygmat) programowania Rozwinięcie koncepcji programowania strukturalnego
Bardziej szczegółowoProgramowanie 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
Bardziej szczegółowoRok akademicki: 2012/2013 Kod: ZIE-1-306-s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: -
Nazwa modułu: Programowanie obiektowe Rok akademicki: 2012/2013 Kod: ZIE-1-306-s Punkty ECTS: 3 Wydział: Zarządzania Kierunek: Informatyka i Ekonometria Specjalność: - Poziom studiów: Studia I stopnia
Bardziej szczegółowoWOJSKOWA AKADEMIA TECHNICZNA
WOJSKOWA AKADEMIA TECHNICZNA PROJEKT MODELOWANIE SYSTEMÓW TELEINFORMATYCZNYCH Stopień, imię i nazwisko prowadzącego Stopień, imię i nazwisko słuchacza Grupa szkoleniowa dr inż. Zbigniew Zieliński inż.
Bardziej szczegółowoInstrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom.
Instrukcja tworzenia aplikacji EE na bazie aplikacji prezentowanej na zajęciach lab.4 z PIO umożliwiająca przez sieć dostęp wielu użytkownikom. Projektowanie i wdrażanie systemów informatycznych Przekształcenie
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ółowoKurs programowania aplikacji bazodanowych
Wykład 2 Instytut Informatyki Uniwersytet Wrocławski Plan wykładu Połączenie za pomocą JNDI i DataSource Połączenie za pomocą JNDI i DataSource Krótki wstęp do usług katalogowych Dotychczas w celu uzyskania
Bardziej szczegółowoTo sposób w jaki użytkownik wchodzi w interakcje z systemem. Środowisko graficzne używa kombinacji graficznych elementów(przyciski, okna, menu) i
Aleksandra Dębiecka To sposób w jaki użytkownik wchodzi w interakcje z systemem. To sposób w jaki użytkownik wchodzi w interakcje z systemem. Środowisko graficzne używa kombinacji graficznych elementów(przyciski,
Bardziej szczegółowoSerwery aplikacji. mgr Radosław Matusik. Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz.
Wydział Matematyki i Informatyki Uniwersytetu Łódzkiego www.math.uni.lodz.pl/ radmat radmat@math.uni.lodz.pl Konwersja i walidacja W wyniku działania konwersji i walidacji surowe dane, przesyłane w postaci
Bardziej szczegółowoWykł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
Bardziej szczegółowoProjekt przejściowy 2015/2016 BARTOSZ JABŁOŃSKI, TOMASZ JANICZEK
Projekt przejściowy 2015/2016 BARTOSZ JABŁOŃSKI, TOMASZ JANICZEK Kto? dr inż. Tomasz Janiczek tomasz.janiczek@pwr.edu.pl s. P1.2, C-16 dr inż. Bartosz Jabłoński bartosz.jablonski@pwr.edu.pl s. P0.2, C-16
Bardziej szczegółowoDEKLARATYWNE ZARZĄDZANIE W MICROSOFT SQL SERVER
DEKLARATYWNE ZARZĄDZANIE W MICROSOFT SQL SERVER Na podstawie artykułu: Hongfei Guo Dan Jones Jennifer Beckmann Praveen Seshadri Declarative Management in Microsoft SQL Server Marek Wittkowski Nowe podejście
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ółowo