Wzorce projektowe warstwy danych
|
|
- Sylwia Czajkowska
- 8 lat temu
- Przeglądów:
Transkrypt
1 POLITECHNIKA GDAŃSKA WYDZIAŁ ELEKTRONIKI TELEKOMUNIKACJI I INFORMATYKI Katedra Architektury Systemów Komputerowych Jarosław Kuchta Instrukcja do laboratorium z przedmiotu Projektowanie Aplikacji Internetowych Wzorce projektowe warstwy danych Gdańsk 2013/14 1
2 Wprowadzenie W ćwiczeniu studenci mają za zadanie napisanie aplikacji internetowej w technologii Web Service lub WCF wykorzystującej jednocześnie trzy wzorce projektowe: Data Access Object Transfer Object Value List Handler 1. Wzorzec Data Access Object Wzorzec Data Access Object wynika ze spostrzeżenia, że dane komponentów biznesowych muszą być przechowywane w pamięci trwałej (masowej). Istnieje wiele typów pamięci trwałej. Dane mogą być przechowywane w zwykłym systemie plików, w repozytorium plików XML, w relacyjnych, obiektowo-relacyjnych i obiektowych bazach danych. Każdy z tych typów pamięci ma swój własny, unikatowy interfejs API. Również w zakresie tego samego typu pamięci (np. relacyjnych baz danych) API zależy od dostawcy określonego produktu zapewniającego przechowywanie danych (np. od producenta systemu bazy danych). Różnice w API powodują, że w przypadku zmiany dostawcy systemu przechowywanie danych zachodzi konieczność modyfikacji komponentów warstwy danych, a czasami również komponentów warstwy biznesowej. Z kolei uniezależnienie aplikacji od systemu przechowywania danych wymaga stworzenia uniwersalnego interfejsu dostępu do danych w pamięci masowej. Taki interfejs określa wzorzec DAO. We wzorcu DAO w warstwie danych występuje komponent (klasa i obiekt) dostępu do danych (komponent DAO) zapewniający jednolity dostęp do różnych źródeł danych. Źródłem danych dla DAO może być: system relacyjnej bazy danych (RDBMS) repozytorium plików XML system wymiany danych (B2B) usługa biznesowa dostępna przez protokół CORBA inny mechanizm przechowywania i udostępniania danych Komponent DAO udostępnia wspólny, uproszczony interfejs dostępu do danych, łączący możliwości różnych źródeł danych i ukrywający przed warstwą biznesową szczegóły implementacyjne dostępu do danych. Ponieważ interfejs DAO nie zmienia się wraz z implementacją źródła danych, więc uniezależnia warstwę biznesową od zastosowanego mechanizmu dostępu do danych. W skład wzorca wchodzą: Business Object obiekt biznesowy, którego dane są przechowywane Data Access Object główny obiekt wzorca, zapewnia transparentny dostęp do źródła danych Data Source źródło danych: baza danych, repozytorium XML etc. 2
3 Transfer Object przenosi dane z warstwy danych do obiektu biznesowego. Obiekt biznesowy (Business Object) wykorzystuje obiekt DAO (Data Access Object) do pozyskania lub utrwalenia danych. Obiekt DAO zawiera w sobie metody wykorzystujące różne źródła danych (Data Source). Źródłem danych może być system relacyjnej bazy danych, repozytorium plików XML itp. Obiekt DAO wystawia taki sam interfejs dla różnych źródeł danych, jednak klasa implementująca interfejs DAO może być zupełnie inna dla każdego typu źródła. Wzorzec DAO często współdziała ze wzorcem Transfer Object tworząc obiekt transferowy przenoszący dane z warstwy danych do obiektu biznesowego. Współdziałanie komponentów wzorca jest następujące: 1: Obiekt biznesowy tworzy instancję obiektu DAO. 2: Obiekt biznesowy wysyła żądanie danych do obiektu DAO. Ten z kolei: 2.1: Pobiera dane ze źródła i 2.2: Tworzy obiekt transferowy zapisując w nim pobrane dane. 2.3: Utworzony obiekt transferowy obiekt DAO zwraca do obiektu biznesowego. 3: Obiekt biznesowy pobiera dane w formie właściwości z obiektu transferowego, jak również może 4: zapisywać w nim dane w formie właściwości. 5: Po ewentualnej modyfikacji obiektu transferowego obiekt biznesowy wysyła do obiektu DAO żądanie zapisania danych. Wówczas obiekt DAO: 5.1: odczytuje z obiektu transferowego dane zmienione 5.2: i nie zmienione 5.3: i zapisuje je w źródle danych. 3
4 1.1. Strategie implementacyjne Strategia implementacji z automatycznym generowaniem kodu DAO Jeśli obiekt biznesowy wykorzystuje tylko jeden obiekt DAO, to jest możliwe utworzenie prostej relacji łączącej obiekt biznesowy, DAO i źródło danych. Można wówczas wykorzystać prosty generator kodu (ze środowiska implementacji) do wygenerowania kodu DAO. Metadane (dane opisujące dane) potrzebne dla tego generatora kodu są podawane przez dewelopera w osobnym pliku deskryptora. Alternatywnie generator kodu może przeprowadzać inspekcję istniejącej bazy danych (odczytywać tablice i ich pola) i tworzyć kod DAO na tej podstawie. W przypadku bardziej złożonego modelu danych warto wykorzystać wyspecjalizowane narzędzia umożliwiające graficzne przedstawienie odwzorowanie obiektów biznesowych w komponenty bazy danych (tablice i kwerendy). Strategia implementacji z fabryką obiektów DAO Bardziej elastyczną implementację wzorca DAO zapewnia zastosowanie wzorców Factory Method i Abstract Factory z GoF. Gdy nie przewiduje się zmiany systemu bazy danych możliwość wykorzystania wzorca Factory Method do tworzenia wielu obiektów DAO, po jednym dla każdej klasy trwałej. Gdy przewiduje się zmiany systemu bazy danych możliwość wykorzystania wzorca Abstract Factory do tworzenia różnych DAO odpowiednich do różnych systemów baz danych. 4
5 Strategia z metodą produkcji (Factory Method) Strategia z zastosowaniem wzorca Factory Method może mieć zastosowanie w przypadku, gdy nie przewiduje się zmiany implementacji źródła danych. Dla tego określonego źródła danych tworzy się fabrykę obiektów DAO (DAOFactory). Fabryka ta implementuje metody tworzące obiekty DAO (DAO_1, DAO_2) dla określonego typu źródła. Każdy z obiektów DAO jest tworzony dla jednej klasy biznesowej i udostępnia interfejs umożliwiający odczytanie i zapisanie właściwości tej klasy (DAO1, DAO2). Strategia z abstrakcyjną fabryką (Abstract Factory) Strategia z zastosowaniem wzorca Abstract Factory ma zastosowanie w przypadku, gdy przewiduje się różne implementacje źródła danych. W tej strategii fabryka obiektów DAO (DAO Factory) jest klasą abstrakcyjną; jej metody tworzenia obiektów DAO również są abstrakcyjne. Są one implementowane w konkretnych fabrykach DAO (XML DAO Factory, RDB DAO Factory, OODB DAO Factory), zapewnianych dla każdego źródła danych. Każdy z obiektów DAO dla tej samej klasy biznesowej implementuje ten sam, wspólny interfejs (klasy XML_DAO1, RDB_DAO1, OODB_DAO1 implementują interfejs DAO1; klasy XML_DAO2, RDB_DAO2, OODB_DAO2 implementują interfejs DAO2). 5
6 1.2. Przykład W przykładzie pokazano zastosowanie wzorca DAO w systemie składania zamówień firmy AnyComp. Klasa biznesowa (Client) uzyskuje dostęp do danych klientów firmy przechowywanych w bazie danych AnyCompDB poprzez obiekt DAO instancję klasy Customer_DAO implementującą interfejs CustomerDAO. Obiekt DAO przekazuje dane klientów przez tworzony obiekt transferowy klasy CustomerData. Dane klas trwałych: Customer, Account i Order są przechowywane w bazie danych. Dla każdej z klas zdefiniowano odpowiedni komponent DAO: Customer_DAO, Account_DAO i Order_DAO. Każdy komponent DAO implementuje własny interfejs. Fabryka DAO (DAO Factory) udostępnia dla klienta metody utworzenia instancji dla każdej z klas DAO. Fabryka DAO jest klasą, która implementuje metody tworzenia obiektów typu DAO dla różnych klas biznesowych. W tym przykładzie trzy metody tworzenia obiektów klasy "Customer_DAO", "Account_DAO" oraz "Order_DAO". Fabryka może mieć też inne metody wykorzystywane w pozostałej części implementacji. 6
7 Interfejs CustomerDAO deklaruje szereg metod dostępu do pamięci trwałej klasy Customer. insertcustomer wstawia do bazy dane nowego klienta; wynikiem jest identyfikator klienta (lub -1 w przypadku błędu) deletecustomer usuwa z bazy dane klienta o podanym identyfikatorze findcustomer wyszukuje w bazie dane klienta o podanym identyfikatorze; wynikiem jest obiekt zawierające dane klienta (w tym identyfikator) updatecustomer aktualizuje w bazie dane klienta W wielu przypadkach klasa trwała jest reprezentowana przez obiekt transferowy klasy CustomerData implementującej zdefiniowany interfejs. Klasa trwała reprezentująca klienta w modelu analitycznym (Customer) jest implementowana przez klasę obiektu transferowego (CustomerData). Do właściwości 7
8 wynikających z analizy dodawana jest właściwość ID przechowująca identyfikator klienta z bazy danych. Przykładowy kod klienta zawiera: 1. utworzenie faktorii DAO 2. utworzenie obiektu DAO 3. znalezienie danych i przekazanie ich przez obiekt transferowy 4. modyfikację danych w obiekcie transferowym po stronie klienta 5. aktualizację danych z obiektu transferowego po stronie serwera 8
9 2. Transfer Object Aplikacje implementują obiekty biznesowe po stronie serwera jako komponenty sesyjne lub komponenty encyjne. Przy tej architekturze komponenty klienckie, które chcą pozyskać dane od obiektów biznesowych, muszą wykorzystywać wiele metod dostępu do danych, wystawianych przez te obiekty za pośrednictwem interfejsów zdalnych. Wiele z tych metod to proste metody dostępu (get i set). Każde wywołanie metody obiektu biznesowego (nawet prostej) przez interfejs zdalny musi być traktowane jako wywołanie zdalne. Wywołania przechodzą przez kolejne warstwy architektury sieciowej niezależnie od tego, czy rzeczywiście są zdalne, czy też są skierowane do serwera lokalnego. Stąd na każde wywołanie nakładany jest duży narzut czasowy związany z wywołaniem poprzez warstwy sieciowe. Klienci najczęściej wymagają więcej niż jednego atrybutu danych dla jednej klasy biznesowej. Dla ich pozyskania muszą wywołać wiele metod. Wraz ze wzrostem liczby wywołań obiektów biznesowych przez ich zdalne interfejsu wydajność aplikacji znacząco maleje. Klienci zazwyczaj częściej potrzebują odczytywać, niż zapisywać dane. Dlatego zapewnienie wydajnego sposobu odczytywania danych zdalnych jest ważniejsze od wydajności zapisu danych. Rozwiązaniem tych problemów jest wzorzec Transfer Object, w którym dane dla komponentów warstw wyższych przekazuje się w postaci obiektowej. Instancja obiektu transferowego jest tworzona na żądanie klienta przez komponent serwerowy, atrybuty obiektu są wypełniane odpowiednimi danymi i obiekt w całości jest przesyłany do klienta. Klient odczytuje poszczególne dane (właściwości) z instancji obiektu transferowego po swojej stronie. Ponieważ do odczytania właściwości po stronie klienta nie potrzebny jest interfejs zdalny, więc tylko pojedyncze wywołanie interfejsu zdalnego jest potrzebne do przesłania całego pakietu danych. W skład wzorca Transfer Object wchodzą następujące komponenty: Client jest to klient komponentu biznesowego; może być to aplikacja użytkownika końcowego (w przypadku architektury z grubym klientem pozyskującym dane bezpośrednio z komponentów biznesowych), delegat biznesowy (p. wzorzec Business Delegate) albo inny obiekt biznesowy. Business Object obiekt biznesowy tworzy obiekt transferowy i zwraca na żądanie klienta; może być zaimplementowany jako: o Business Entity komponent encyjny o Business Session komponent sesyjny o Data Access Object komponent danych Transfer Object obiekt transferowy przenoszący dane dla klienta. Może to być instancja dowolnej serializowalnej klasy Javy. Klasa ta powinna mieć konstruktor określający, jakie dane są wymagalne dla utworzenia obiektu transferowego. Zazwyczaj pola obiektu są definiowane jako publiczne, dzięki 9
10 czemu nie potrzebne są metody dostępu. Jeśli obiekt transferowy ma być wykorzystywany również do zapisu danych i ma chronić niektóre pola, to potrzeba zadeklarować metody dostępu do odczytu wszystkich pól i ewentualnie do zapisu niektórych z nich. Współdziałanie komponentów jest następujące: 1. Klient wysyła do komponentu biznesowego żądanie pobrania danych. W odpowiedzi na to żądanie: 1.1. Komponent biznesowy tworzy instancję obiektu transferowego i wypełnia ją danymi. Instancja ta będzie przechowywana po stronie serwera i służyć do przyspieszenia obsługi kolejnych żądań Instancję obiektu transferowego komponent biznesowy zwraca do klienta Klient tworzy własną kopię obiektu transferowego, którą wykorzystuje do lokalnych operacji. 2 oraz 3. Klient pobiera poszczególne właściwości ze swojej kopii lokalnej. 10
11 2.1. Strategie implementacyjne W implementacji wzorca Transfer Object stosuje się cztery strategie: strategię z modyfikowalnym obiektem transferowym wówczas, gdy klient modyfikuje dane przekazywane przez obiekt transferowy strategię z wieloma obiektami transferowymi wówczas, gdy warstwa biznesowa jest mocno złożona strategię z rozszerzaniem obiektu transferowego przez komponent encyjny wówczas, gdy klient potrzebuje wszystkich danych komponentu encyjnego strategię z faktorią obiektów transferowych Pierwsze dwie strategie są stosowane wówczas, gdy obiekt biznesowy jest implementowany jako komponent sesyjny lub komponent encyjny. Pozostałe dwie tylko wtedy, gdy obiekt biznesowy jest implementowany jako komponent encyjny. Modyfikowalny obiekt transferowy W strategii z modyfikowalnym obiektem transferowym obiekt ten nie tylko przenosi dane z obiektu biznesowego do klienta, ale również zmiany dokonywane przez klienta z powrotem do obiektu biznesowego. Obiekt transferowy musi zapewniać metody modyfikacji danych. Metody te mogą zapewniać walidację wprowadzanych danych i spójność zawartości pól. Zmiany są dokonywane na lokalnej kopii obiektu transferowego. Zmiany te nie są widoczne dla obiektu biznesowego do czasu, gdy klient wywołuje metodę setdata() obiektu biznesowego. Wywołanie tej metody powoduje serializację lokalnej kopii obiektu transferowego i przesłanie jej do obiektu biznesowego. Obiekt biznesowy przyjmuje zmodyfikowaną kopię obiektu transferowego i złącza zmienione dane z danymi we własnej kopii. Operacja złączenia może komplikować projekt obiektu biznesowego i obiektu transferowego. Rozwiązanie praktyczne może polegać na aktualizacji tylko zmienionych danych. Zamiast porównywać kolejno właściwości obiektu transferowego z kopii serwerowej i kopii przesłanej od klienta można zastosować zbiór flag sygnalizujących, które właściwości zostały zmienione. Problemem projektowym pozostaje zapewnienie: odpowiedniej propagacji zmian do innych klientów, synchronizacja zmian dokonywanych przez różnych klientów, kontrola wersji danych 2.2. Przykład - modyfikowalny obiekt transferowy z flagami modyfikacji W przypadku, gdy obiekt transferowy jest modyfikowany przez klienta, wskazane jest zastosowanie flag zmian (ismodified). Wówczas metoda ustalenia (np. setfirstname) ustawia odpowiednią flagę (ale tylko wtedy, gdy klient rzeczywiście zmienia wartość pola). Wszystkie flagi powinny być skasowane (metoda clearismodified) wówczas, gdy dane zostaną zaktualizowane przez obiekt DAO. 11
12 3. Value List Handler Wzorzec Value List Handler ma zastosowanie w przypadku, gdy klient przegląda listę wartości (np. wyszukane strony w wyszukiwarce), a nie potrzebuje dla każdej wartości mieć cały obiekt zdalny. Niepraktyczne byłoby zwracanie całego zbioru wyszukanych rekordów. Lepiej jest przechować listę wyszukanych rekordów po stronie serwera i 12
13 podawać klientowi po kilka rekordów. Jeśli wielu klientów wyszukuje podobne dane, to przechowywana lista rekordów może być wielokrotnie wykorzystana. Klient może określać, po ile rekordów chce otrzymywać, oraz może poruszać się po przechowywanej liście zarówno w przód, jak i w tył. Lista wyników wyszukiwania może być przechowywana zgodnie ze wzorcem Value List Handler. Serwer może udostępniać przechowywane wyniki klientowi zgodnie z jego wymaganiami co do rozmiaru porcji rekordów i sposobu nawigacji. Główny komponent wzorca Value List Handler powinien implementować metody nawigacji po liście zdefiniowane w interfejsie Value List Iterator: getsize() podającą rozmiar listy getcurrentelement() podającą bieżący element z list w postaci obiektu transferowego getnextelements(int howmany) podają pewną ilość kolejnych elementów (obiektów transferowych) z listy getpreviouselements(int howmany) podają pewną ilość elementów (obiektów transferowych) z listy poprzedzających bieżący element resetindex() ustawiającą indeks bieżącego elementu na początek listy 3.1. Strategie implementacji W implementacji stosuje się dwie strategie: Implementacja przez zwykły obiekt - przydatna jedynie dla prostszych aplikacji Implementacja jako stanowy komponent sesji pełniący rolę fasady Kod implementacji wzorca przez zwykłą klasę może być następujący: 13
14 public class ValueListHandler implements ValueListIterator { protected List list; protected ListIterator listiterator; public ValueListHandler() { } protected void setlist(list list) { this.list = list; listiterator = list.listiterator(); } public Collection getlist() { return list; } public int getsize() { return list.size(); } public Object getcurrentelement() { int currindex = listiterator.nextindex(); return list.get(currindex); } public List getpreviouselements(int count) { int i = 0; Object object = null; LinkedList list = new LinkedList(); while (listiterator.hasprevious() && (i < count)){ object = listiterator.previous(); list.add(object); i++; } return list; } public List getnextelements(int count) { int i = 0; Object object = null; LinkedList list = new LinkedList(); while (listiterator.hasnext() && (i < count) ){ object = listiterator.next(); list.add(object); i++; } return list; } public void resetindex() { listiterator = list.listiterator(); }... } 14
15 4. Zadanie dla studentów Zaprogramować w środowisku Visual Studio albo J2EE aplikację rozproszoną składającą się z części serwerowej i części klienckiej. W części serwerowej zrealizować dwie warstwy: warstwę danych i warstwę usługową. W warstwie danych zaimplementować wzorzec DAO czytający dane z kolekcji danych zdefiniowanej w pamięci operacyjnej i zapisujący je w pliku na dysku twardym (bez bazy danych). Kolekcja powinna zawierać przynajmniej 30 rekordów danych. Format zapisu ma być czytelny dla człowieka (np. XML, JSON). W warstwie usługowej zaimplementować wzorzec Value List Handler buforujący dane pobrane z obiektu DAO i przekazujące je do części klienckiej w partiach po 10. Każdy rekord danych jest przekazywany w formie obiektu transferowego (Transfer Object). Aplikacja kliencka pobiera dane z warstwy usługowej przez interfejs Web Service. Dane prezentuje partiami dla użytkownika. Umożliwia przechodzenie do następnej lub poprzedniej partii danych. Aplikacja kliencka umożliwia użytkownikowi modyfikację wybranego rekordu danych i poprzez Web Service zmodyfikowanie pierwotnej kolekcji danych z zapisem jej w pliku. Bibliografia Rysunki i przykłady pochodzą z następujących źródeł: Literatura uzupełniająca: Gamma et al: Wzorce projektowe, WNT Warszawa Buschman et al: Pattern-Oriented Software Architecture Volume 1: A System of Patterns, Wyd. Wiley, Schmidt et al: Pattern-Oriented Software Architecture Volume 2: Patterns for Concurrent and Networked Objects, Wyd. Wiley, 15
Projektowanie Aplikacji Rozproszonych Jarosław Kuchta. Wzorce projektowe warstwy danych
Rozproszonych Jarosław Kuchta Wzorce projektowe warstwy danych Wzorce projektowe Core J2EE Patterns (podział umowny) Warstwy danych: Data Access Object, Transfer Object, Value List Handler Warstwy biznesowej:
Bardziej szczegółowoProjektowanie Aplikacji Internetowych Jarosław Kuchta. Wzorce projektowe warstwy biznesowej
Jarosław Kuchta Wzorce projektowe warstwy biznesowej Wzorce projektowe dotyczące danych, obiektów i logiki biznesowej Transfer Object Assembler Łączy dane pochodzące z różnych komponentów biznesowych Composite
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ółowoProjektowanie Aplikacji Internetowych. Wzorce projektowe warstwy usług
Wzorce projektowe warstwy usług Wzorce projektowe warstwy usług Service Locator Ułatwia wyszukanie komponentów usługowych Service Activator Umożliwia asynchroniczne przesyłanie żądań do komponentów biznesowych
Bardziej szczegółowo"Biznesowe" wzorce projektowe
POLITECHNIKA GDAŃSKA WYDZIAŁ ELEKTRONIKI TELEKOMUNIKACJI I INFORMATYKI Katedra Architektury Systemów Komputerowych Jarosław Kuchta Instrukcja do laboratorium z przedmiotu Projektowanie Aplikacji Internetowych
Bardziej szczegółowoProgramowanie 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ółowoProjektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych
Projektowanie architektury systemu rozproszonego Jarosław Kuchta Zagadnienia Typy architektury systemu Rozproszone przetwarzanie obiektowe Problemy globalizacji Problemy ochrony Projektowanie architektury
Bardziej szczegółowoDokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV
Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium
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ół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ółowoWprowadzenie db4o - podstawy db4o - technikalia Przydatne wiadomości. Wprowadzenie. db4o. Norbert Potocki. 1 czerwca 2009. Norbert Potocki db4o
Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie 1 czerwca 2009 Wprowadzenie - podstawy - technikalia Przydatne wiadomości Wprowadzenie = bjects = database for objects w pełni obiektowa
Bardziej szczegółowoAplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Dr inż. Zofia Kruczkiewicz wykład 4 Programowanie aplikacji internetowych, wykład 4 1 1. Zadania aplikacji rozproszonych obiektów
Bardziej szczegółowoZagadnienia projektowania aplikacji J2EE
211 Zagadnienia projektowania aplikacji J2EE Maciej Zakrzewicz Maciej.Zakrzewicz@cs.put.poznan.pl http://www.cs.put.poznan.pl/mzakrzewicz/ Plan rozdziału 212 Wstęp Techniki projektowe: Wprowadzenie modułu
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ół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ół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ół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ółowoLK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika
LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika Prowadzący: Dr inż. Jacek Habel Instytut Technologii Maszyn i Automatyzacji Produkcji Zakład Projektowania Procesów
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ółowoProgramowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych
Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,
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ół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ółowoJarosław Kuchta Projektowanie Aplikacji Internetowych. Projektowanie warstwy danych
Jarosław Kuchta Projektowanie Aplikacji Internetowych Projektowanie warstwy danych Zagadnienia Sposoby zapisu danych zewnętrznych Odwzorowanie dziedziny problemu w dziedzinę danych Normalizacja relacyjnej
Bardziej szczegółowoCzęść I Tworzenie baz danych SQL Server na potrzeby przechowywania danych
Spis treści Wprowadzenie... ix Organizacja ksiąŝki... ix Od czego zacząć?... x Konwencje przyjęte w ksiąŝce... x Wymagania systemowe... xi Przykłady kodu... xii Konfiguracja SQL Server 2005 Express Edition...
Bardziej szczegółowoZadanie polega na stworzeniu bazy danych w pamięci zapewniającej efektywny dostęp do danych baza osób.
Zadanie: Zadanie polega na stworzeniu bazy danych w pamięci zapewniającej efektywny dostęp do danych baza osób. Na kolejnych zajęciach projekt będzie rozwijana i uzupełniana o kolejne elementy omawiane
Bardziej szczegółowoTOPIT Załącznik nr 3 Programowanie aplikacji internetowych
Szkolenie przeznaczone jest dla osób chcących poszerzyć swoje umiejętności o tworzenie rozwiązań internetowych w PHP. Zajęcia zostały przygotowane w taki sposób, aby po ich ukończeniu można było rozpocząć
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ół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ółowoProjektowanie 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
Bardziej szczegółowoEnterprise JavaBeans
Enterprise JavaBeans 1. Wprowadzenie. 2. Przegląd komponentów EJB. komponenty encyjne, komponenty sesyjne, komponenty sterowane komunikatami. 3. Kontener komponentów EJB: JBoss. 1 Enterprise JavaBeans
Bardziej szczegółowoAnaliza 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
Bardziej szczegółowoWzorce dystrybucji i wspólbieżności autonomicznej
Wzorce dystrybucji i wspólbieżności autonomicznej 1. Wzorce dystrybucji, fasada zdalna (Remote Facade), obiekt transfery danych (Data Transfer Object), 2. Wzorce współbieżności autonomicznej, blokada optymistyczna
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ół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ółowoWybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej Java Enterprise Edition. WebServices. Język XML. Serwer aplikacji GlassFish. Dr inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki
Bardziej szczegółowoJava RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć
interfejs (w języku Java), wywiedziony z Remote obiekt Podejście obiektowe do budowy systemów rozproszonych aplikacja kliencka stub interfejs serwer szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów
Bardziej szczegółowoProgramowanie komponentowe 5
Budowa warstwy klienta w architekturze typu klient-serwer zbudowanych z komponentów typu EE - klient desktopowy i internetowy. Zastosowanie komponentów opartych na technologii EJB 3.2. na podstawie https://docs.oracle.com/javaee/7/jeett.pdf
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ółowoProjektowanie struktury danych
Jarosław aw Kuchta Rozproszonych Projektowanie qhta@eti.pg.gda.pl J.Kuchta@eti.pg.gda.pl Zagadnienia Sposoby zapisu danych zewnętrznych Odwzorowanie dziedziny problemu w dziedzinę danych Normalizacja relacyjnej
Bardziej szczegółowoForum Client - Spring in Swing
Forum Client - Spring in Swing Paweł Charkowski. 0. Cel projektu Celem projektu jest próba integracji Spring Framework z różnymi technologiami realizacji interfejsu użytkownika, oraz jej ocena. Niniejszy
Bardziej szczegółowoPodejście obiektowe do budowy systemów rozproszonych
Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Dariusz Wawrzyniak 1 Mechanizm RMI umożliwia
Bardziej szczegółowoJava RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć
Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów
Bardziej szczegółowoSzczególne problemy projektowania aplikacji internetowych. Jarosław Kuchta Projektowanie Aplikacji Internetowych
Szczególne problemy projektowania aplikacji Jarosław Kuchta Miejsce projektowania w cyklu wytwarzania aplikacji SWS Analiza systemowa Analiza statyczna Analiza funkcjonalna Analiza dynamiczna Analiza behawioralna
Bardziej szczegółowoPlan prezentacji. Budowa aplikacji w technologii Enterprise JavaBeans. Przegląd architektur: CORBA. Cele budowy aplikacji rozproszonych
Plan prezentacji Budowa aplikacji w technologii Enterprise JavaBeans Przegląd architektur aplikacji rozproszonych: CORBA,, Wprowadzenie do Enterprise JavaBeans () Budowa komponentów sesyjnych Budowa komponentów
Bardziej szczegółowoUML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.
UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami
Bardziej szczegółowoA Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów
A Zasady współpracy Ocena rozwiązań 3.0 25 40 punktów 3.5 41 65 punktów 4.0 66 80 punktów 4.5 81 100 punktów 5.0 101 130 punktów Warunki zaliczenia przedmiotu Student uzyska ocenę zaliczającą (3.0) o ile
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe IV. Interfejsy i klasy wewnętrzne Małgorzata Prolejko OBI JA16Z03 Plan Właściwości interfejsów. Interfejsy a klasy abstrakcyjne. Klonowanie obiektów. Klasy wewnętrzne. Dostęp do
Bardziej szczegółowoAplikacje RMI Lab4
Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Lab4 Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych 1 1. Koncepcja budowy aplikacji RMI (aplikacja rozproszonych
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ółowoObiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.
Zrozumienie funkcji danych statycznych jest podstawą programowania obiektowego. W niniejszym artykule opiszę zasadę tworzenia klas statycznych w C#. Oprócz tego dowiesz się czym są statyczne pola i metody
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ół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ół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ółowoSzablony klas, zastosowanie szablonów w programach
Szablony klas, zastosowanie szablonów w programach 1. Szablony klas i funkcji 2. Szablon klasy obsługującej uniwersalną tablicę wskaźników 3. Zastosowanie metody zwracającej przez return referencję do
Bardziej szczegółowoWzorce logiki dziedziny
Wzorce logiki dziedziny 1. Wzorce logiki dziedziny skrypt transakcji (Transaction Script), brama tabeli (Table Data Gateway), model dziedziny (Domain model), strategia (Strategy), moduł tabeli (Table Module),
Bardziej szczegółowoWywoływanie metod zdalnych
Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia
Bardziej szczegółowoNarzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl
Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z
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ółowoProjektowanie warstwy danych
Jarosław Kuchta Internetowych Projektowanie warstwy danych qhta@eti.pg.gda.pl J.Kuchta@eti.pg.gda.pl Zagadnienia Sposoby zapisu danych zewnętrznych Odwzorowanie dziedziny problemu w dziedzinę danych Normalizacja
Bardziej szczegółowoZaawansowane aplikacje internetowe - laboratorium
Zaawansowane aplikacje internetowe - laboratorium Web Services (część 3). Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2005. Ponadto wymagany jest
Bardziej szczegółowoBudowa aplikacji w technologii. Enterprise JavaBeans. Maciej Zakrzewicz PLOUG
Budowa aplikacji w technologii Enterprise JavaBeans Maciej Zakrzewicz PLOUG Plan prezentacji Przegląd architektur aplikacji rozproszonych: CORBA, SOAP, EJB Wprowadzenie do Enterprise JavaBeans (EJB) Budowa
Bardziej szczegółowoProgramowanie zespołowe
Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Laboratorium 6 Programowanie zespołowe Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy 2 Programowanie zespołowe Wymagania wstępne
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ół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ółowoPLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy
Bardziej szczegółowoAplikacje internetowe i rozproszone - laboratorium
Aplikacje internetowe i rozproszone - laboratorium Enterprise JavaBeans (EJB) Celem tego zestawu ćwiczeń jest zapoznanie z technologią EJB w wersji 3.0, a w szczególności: implementacja komponentów sesyjnych,
Bardziej szczegółowoPojęcie bazy danych. Funkcje i możliwości.
Pojęcie bazy danych. Funkcje i możliwości. Pojęcie bazy danych Baza danych to: zbiór informacji zapisanych według ściśle określonych reguł, w strukturach odpowiadających założonemu modelowi danych, zbiór
Bardziej szczegółowoProjektowanie Zorientowane na Dziedzinę. ang. Domain Driven Design
Projektowanie Zorientowane na Dziedzinę ang. Domain Driven Design 2 Projektowanie Stan posiadania Przypadki użycia Model dziedziny Operacje systemowe Kontrakty dla operacji systemowych Problemy do rozwiązania
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ół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ół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ółowoWywoływanie metod zdalnych
Wywoływanie metod zdalnych Podejście obiektowe do budowy systemów rozproszonych Wywoływanie metod zdalnych model systemu obiekt aplikacja kliencka interfejs serwer proxy szkielet sieć Istota podejścia
Bardziej szczegółowoAlgorytmy i Struktury Danych. Anna Paszyńska
Algorytmy i Struktury Danych Anna Paszyńska Tablica dynamiczna szablon Array Zbiory Zbiory template class Container {public: virtual ~Container() { }; virtual int Count() const = 0;
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ółowoPodstawowe zagadnienia z zakresu baz danych
Podstawowe zagadnienia z zakresu baz danych Jednym z najważniejszych współczesnych zastosowań komputerów we wszelkich dziedzinach życia jest gromadzenie, wyszukiwanie i udostępnianie informacji. Specjalizowane
Bardziej szczegółowoLaboratorium 7 Blog: dodawanie i edycja wpisów
Laboratorium 7 Blog: dodawanie i edycja wpisów Dodawanie nowych wpisów Tworzenie formularza Za obsługę formularzy odpowiada klasa Zend_Form. Dla każdego formularza w projekcie tworzymy klasę dziedziczącą
Bardziej szczegółowoProgramowanie obiektowe
Laboratorium z przedmiotu - zestaw 02 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas i obiektów z wykorzystaniem dziedziczenia. Wprowadzenie teoretyczne.
Bardziej szczegółowoLaboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz
Aplikacja internetowa zbudowana w oparciu o środowisko Visual Web Java Server Faces. Zarządzanie obiektami typu SesionBeans, RequestBeen i ApplicationBeans, Laboratorium 1 Wzorce oprogramowania lab1, Okres
Bardziej szczegółowo1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1
1 LINQ 1 1. Cel zajęć Celem zajęć jest zapoznanie się z technologią LINQ oraz tworzeniem trójwarstwowej aplikacji internetowej. 2. Zadanie Proszę przygotować aplikację WWW, która: będzie pozwalała na generowanie
Bardziej szczegółowoDokumentacja do API Javy.
Dokumentacja do API Javy http://java.sun.com/j2se/1.5.0/docs/api/ Klasy i obiekty Klasa jest to struktura zawierająca dane (pola), oraz funkcje operujące na tych danych (metody). Klasa jest rodzajem szablonu
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ółowoWprowadzenie do projektu QualitySpy
Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować
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ółowoProgramowanie 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 26.05.2014 WYKŁAD 13 Refleksja Data Access Object
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ółowoAplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin
Aplikacja webowa w Javie szybkie programowanie biznesowych aplikacji Spring Boot + Vaadin Czym jest Spring Boot? Spring Boot jest szkieletem aplikacji, opiera się o Spring Framework czyli Framework szeroko
Bardziej szczegółowoPrototype (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
Bardziej szczegółowoLaboratorium Technologii Informacyjnych. Projektowanie Baz Danych
Laboratorium Technologii Informacyjnych Projektowanie Baz Danych Komputerowe bazy danych są obecne podstawowym narzędziem służącym przechowywaniu, przetwarzaniu i analizie danych. Gromadzone są dane w
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ółowoProjektowanie oprogramowania. Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz
Projektowanie oprogramowania Warstwa integracji z bazą danych oparta na technologii ORM Platforma Java EE Autor: Zofia Kruczkiewicz 1 Wykonanie czterowarstwowej aplikacji EE z dostępem do bazy danych,
Bardziej szczegółowoKlasy i obiekty cz II
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Klasy i obiekty cz II Hermetyzacja, mutatory, akcesory, ArrayList Rozwijamy aplikację Chcemy, aby obiekty klasy
Bardziej szczegółowoTworzenie warstwy prezentacji w wielowarstwowej aplikacji Przykład w środowisku Visual Web JSP
Tworzenie warstwy prezentacji w wielowarstwowej aplikacji Przykład w środowisku Visual Web JSP Autor Zofia Kruczkiewicz Programowanie i wdrażanie systemów informatycznych 1. Wykonanie formularzy typy JSP
Bardziej szczegółowoSerwery aplikacji. dr Radosław Matusik. radmat
www.math.uni.lodz.pl/ radmat EL - Expression Language Załóżmy, że mamy klasę Pracownik, której atrybutem jest PESEL. Załóżmy dalej, że w atrybucie sesji zalogowany przechowujemy obiekt aktualnie zalogowanego
Bardziej szczegółowoTworzenie warstwy prezentacji drugi etap Przykład z laboratorium5_6. Autor Zofia Kruczkiewicz Wzorce oprogramowania laboratorium7_8
Tworzenie warstwy prezentacji drugi etap Przykład z laboratorium5_6 Autor Zofia Kruczkiewicz Wzorce oprogramowania laboratorium7_8 1. Wykonanie formularzy typy JSP zawierających wieloużywalne formularze
Bardziej szczegółowoKurs programowania aplikacji bazodanowych
Wykład 5 Instytut Informatyki Uniwersytet Wrocławski Plan wykładu Wprowadzenie do XPO Podstawowe obiekty Utrwalanie obiektów Transakcje i współbieżność Wzorzec unit of work Odwzorowanie dziedziczenia Asocjacje
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ółowoPlan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza
4 Budowa prostych formularzy, stany sesji, tworzenie przycisków Plan Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza 2 Formularz i jego typy Tworzenie formularza
Bardziej szczegółowoTworzenie i wykorzystanie usług sieciowych
Ćwiczenie 14 Temat: Tworzenie i wykorzystanie usług sieciowych Cel ćwiczenia: W trakcie ćwiczenia student zapozna się z procedurą tworzenia usługi sieciowej w technologii ASP.NET oraz nauczy się tworzyć
Bardziej szczegółowo