Visual Basic. Wzorce projektowe

Wielkość: px
Rozpocząć pokaz od strony:

Download "Visual Basic. Wzorce projektowe"

Transkrypt

1 IDZ DO PRZYK ADOWY ROZDZIA KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE O NOWOŒCIACH ZAMÓW CENNIK CZYTELNIA SPIS TREŒCI KATALOG ONLINE DODAJ DO KOSZYKA FRAGMENTY KSI EK ONLINE Visual Basic. Wzorce projektowe Autorzy: James W. Cooper T³umaczenie: Jaromir Senczyk Tytu³ orygina³u: Visual Basic. Design Patterns. VB 6.0 and VB.NET ISBN: Liczba stron: 440 Ta ksi¹ ka jest praktycznym podrêcznikiem tworzenia programów w jêzyku Visual Basic (w wersji 6 oraz.net) wykorzystuj¹cych wzorce projektowe. Mo e s³u yæ tak e jako krótkie wprowadzenie do programowania w nowej wersji.net jêzyka Visual Basic. Wzorce projektowe omówiono w niej w szeregu krótkich rozdzia³ów, z których ka dy przedstawia jeden wzorzec i ilustruje jego wykorzystanie za pomoc¹ jednego lub wiêcej kompletnych i dzia³aj¹cych programów z okienkowym interfejsem u ytkownika. Ka dy rozdzia³ zawiera te diagramy UML ilustruj¹ce powi¹zania pomiêdzy klasami wystêpuj¹cymi w implementacji wzorca. Dziêki niniejszej ksi¹ ce czytelnik dowie siê, e wzorce projektowe stanowi¹ powszechnie stosowany sposób organizacji obiektów w programach w celu ich uproszczenia i u³atwienia póÿniejszych modyfikacji. Wzorce projektowe wprowadzaj¹ tak e zasób nowych pojêæ, dziêki któremu ³atwiej mo na opisaæ konstrukcje tworzonych programów. Programiœci w trakcie zapoznawania siê z tematyk¹ wzorców projektowych doznaj¹ zwykle momentu olœnienia odkrywaj¹c potêgê poznawanego wzorca. Moment ten oznacza, e w³aœnie uœwiadomili sobie, w jaki sposób mog¹ wykorzystaæ dany wzorzec w swojej pracy. Wydawnictwo Helion ul. Chopina Gliwice tel. (32) helion@helion.pl

2 Spis treści Przedmowa Część I Programowanie obiektowe w języku Visual Basic...15 Rozdział 1. Czym są wzorce projektowe? Definicja wzorców projektowych...w...18 Proces uczenia się...w...w...20 Studiowanie wzorców projektowych...w...21 Uwagi na temat podejścia obiektowego...w...21 Wzorce projektowe w Visual Basicu...w...22 Jak zorganizowana jest ta książka?...w...22 Rozdział 2. Diagramy UML Dziedziczenie...w...w Interfejsy...w...w Kompozycja...w...w...26 Adnotacje...w...w Diagramy UML program WithClass...w...27 Pliki projektów Visual Basica...w...28 Rozdział 3. Klasy i obiekty w Visual Basicu Prosty program konwersji temperatur...w...29 Tworzenie klasy Temperature...w...30 Konwersja na stopnie Kelvina...w...32 Przesunięcie decyzji do klasy Temperature...w...32 Zastosowanie klas do konwersji wartości i formatu...w...34 Obsługa niedozwolonych wartości...w...36 Klasa String Tokenizer...w...36 Klasy i obiekty...w...w Zawieranie klas...w...w.40 Inicjalizacja klasy...w...w Klasy i metody typu Property...w...41 Kolejny przykład interfejsu klasy woltomierz...w...43 Klasa vbfile...w...w Styl programowania w Visual Basicu...w...45 Podsumowanie...w...w...46 Rozdział 4. Programowanie obiektowe Tworzenie obiektów w Visual Basicu...w...48 Tworzenie instancji obiektów...w...49 Program do pomiaru odległości...w...49 Metody wewnątrz obiektów...w...50 Zmienne...w...w....50

3 4 Visual Basic. Wzorce projektowe Przekazywanie parametrów przez referencję i przez wartość...51 Żargon obiektowy...w...w...51 Rozdział 5. Tworzenie kontrolek w Visual Basicu Podświetlone pole tekstowe...w...53 Zmiana wymiarów kontrolki...w...55 Testowanie kontrolki HiText...w...55 Właściwości i metody kontrolki...w...56 Kompilacja...w...w Podsumowanie...w...w...57 Rozdział 6. Dziedziczenie i interfejsy Interfejsy...w...w Symulator inwestycji...w...w60 Implementacja symulatora...w...61 Kiedy użyć interfejsu?...w...62 Metody wspólne...w...w...65 Interfejsy ukryte...w...w Podsumowanie...w...w...67 Rozdział 7. Wprowadzenie do języka Visual Basic.NET Różnice w składni Visual Basic.NET...w...69 Ulepszona składnia funkcji...w...70 Deklaracje zmiennych i ich zakresy...w...71 Obiekty w Visual Basic.NET...w...72 Opcje kompilatora...w...w...73 Zmienne numeryczne w Visual Basic.NET...w...74 Właściwości w języku Visual Basic wersja 6 i VB.NET...74 Skrócona notacja operacji przypisania...w...75 Języki prekompilowane i zarządzanie pamięcią...w...76 Klasy w Visual Basic.NET...w...76 Tworzenie aplikacji w środowisku Visual Basic.NET...78 Najprostszy program okienkowy w Visual Basic.NET...79 Zastosowanie dziedziczenia...w...81 Konstruktory...w...w Programowanie grafiki w Visual Basic.NET...w...84 Podpowiedzi i kursory...w...85 Przeciążanie metod...w...w..85 Dziedziczenie w języku Visual Basic.NET...w...86 Przestrzenie nazw...w...w...87 Klasa Square...w...w...88 Dostęp do składowych klasy...w...89 Zastępowanie metod w klasach pochodnych...w...89 Przeciążanie i przesłanianie...w...90 Zastępowanie kontrolek...w...92 Interfejsy...w...w Podsumowanie...w...w...94 Rozdział 8. Tablice, pliki oraz wyjątki w Visual Basic.NET Tablice...w...w Kolekcje...w...w Klasa ArrayList...w...w.97 Tablice z kodowaniem mieszającym...w...98 Klasa SortedList...w...w98 Wyjątki...w...w Obsługa wielu wyjątków...w...99

4 Spis treści 5 Wywoływanie wyjątków...w Operacje na plikach...w...w100 Klasa File...w...w Odczyt danych z pliku tekstowego...w Zapis danych w pliku tekstowym...w Wyjątki a operacje na plikach...w Sprawdzanie osiągnięcia końca pliku...w Klasa FileInfo...w...w Klasa vbfile...w...w Część II Wzorce konstrukcyjne Rozdział 9. Wzorzec Simple Factory Sposób działania wzorca Simple Factory...w Przykładowy program...w Klasy pochodne...w...w Klasa Simple Factory...w Użycie fabryki...w...w.112 Implementacja fabryki w Visual Basic.NET...w Fabryki w obliczeniach matematycznych...w Zagadnienia do przemyślenia...w Rozdział 10. Wzorzec Factory Method Klasa Swimmer...w...w Klasa Events i jej klasy pochodne...w Rozstawienie bezpośrednie...w Rozstawienie okalające...w Program rozstawiający...w Jeszcze jedno zastosowanie fabryki...w Program rozstawiający w Visual Basic.NET...w Kiedy należy używać wzorca Factory Method?...w Zagadnienia do przemyślenia...w Rozdział 11. Wzorzec Abstract Factory Abstract Factory i projektowanie ogrodów...w Interfejs użytkownika programu Gardener...w Abstract Factory w Visual Basic.NET...w PictureBox...w...w Obsługa zdarzeń wyboru...w Rozbudowa programu o kolejne klasy...w Konsekwencje stosowania wzorca Abstract Factory...w137 Zagadnienia do przemyślenia...w Rozdział 12. Wzorzec Singleton Wzorzec Singleton i metody statyczne...w Obsługa błędów...w...w Globalny punkt dostępu...w Kontrolka MSComm i wzorzec Singleton...w Porty dostępne w systemie...w Wzorzec Singleton w Visual Basic.NET...w Zastosowanie konstruktora o dostępie prywatnym Obsługa błędów...w Program SpoolDemo...w Globalny punkt dostępu...w Inne konsekwencje wzorca Singleton...w Zagadnienia do przemyślenia...w...148

5 6 Visual Basic. Wzorce projektowe Rozdział 13. Wzorzec Builder Program do śledzenia inwestycji...w Zastosowanie wzorca Builder...w Budowniczy okna listy wyboru...w Budowniczy okna pól wyboru...w Implementacja wzorca Builder w Visual Basic.NET Klasa StockFactory...w Klasa CheckChoice...w Klasa ListboxChoice...w Kolekcje obiektów klasy Items...w Ostateczna wersja programu...w Konsekwencje zastosowania wzorca Builder...w Zagadnienia do przemyślenia...w Rozdział 14. Wzorzec Prototype Klonowanie obiektów w Visual Basicu wersja 6...w Zastosowanie prototypu...w Zastosowanie wzorca Prototype...w Dodatkowe metody w klasach pochodnych...w Różne klasy o wspólnym interfejsie...w Menedżer prototypów...w Wzorzec Prototype w Visual Basic.NET...w Konsekwencje stosowania wzorca Prototype...w Zagadnienia do przemyślenia...w Podsumowanie wzorców konstrukcyjnych...w Część III Wzorce strukturalne...o177 Rozdział 15. Wzorzec Adapter Przenoszenie danych pomiędzy listami...w Zastosowanie MSFlexGrid...w Wykorzystanie TreeView...w Adapter obiektów...w Adaptery w Visual Basic.NET...w Adapter kontrolki TreeView w VisualBasic.NET...w Zastosowanie DataGrid...w Adapter klas...w...w Adaptery podwójne...w...w189 Adaptery obiektów i adaptery klas w Visual Basic.NET Adaptery dynamiczne...w Adaptery w języku Visual Basic...w Zagadnienia do przemyślenia...w Rozdział 16. Wzorzec Bridge Klasy vislist...w...w Diagram klas...w...w Rozbudowa mostu...w...w..195 Kontrolki ActiveX jako mosty...w Wzorzec Bridge w Visual Basic.NET...w Klasa ProductList...w Klasa ProductTable...w Wczytywanie danych...w Zamiana stron mostu...w Konsekwencje stosowania wzorca Bridge...w Zagadnienia do przemyślenia...w...202

6 Spis treści 7 Rozdział 17. Wzorzec Composite Implementacja kompozytu...w Obliczanie wynagrodzeń...w Klasa Employee...w...w Klasa Subords...w...w Klasa Boss...w...w Tworzymy drzewo pracowników...w Awans pracownika...w...w.211 Listy dwukierunkowe...w Konsekwencje stosowania wzorca Composite...w Uproszczony wzorzec Composite...w Kompozyty w języku Visual Basic...w Wzorzec Composite w Visual Basic.NET...w Wyliczenie...w...w Konstruktory klasy Boss...w Inne zagadnienia implementacji wzorca...w Zagadnienia do przemyślenia...w Rozdział 18. Wzorzec Decorator Dekorator CoolButton...w Zastosowanie dekoratora...w Kontrolki ActiveX jako dekoratory...w Dekorator w Visual Basic.NET...w Dekoratory niewizualne...w Dekoratory, adaptery i kompozyty...w Konsekwencje stosowania wzorca Decorator...w Zagadnienia do przemyślenia...w Rozdział 19. Wzorzec Facade Czym jest baza danych?...w Uzyskiwanie informacji z bazy danych...w Systemy baz danych...w ODBC...w...w Połączenia do baz danych w języku Visual Basic...w Struktura dostępu do bazy danych...w Klasa DBase...w...w Budujemy fasadę...w...w Klasa Stores...w...w Tworzymy tabele Stores oraz Foods...w Tabela Price...w...w Zapytanie o cenę...w Podsumowanie wzorca Facade...w Wykorzystanie interfejsu ADO w języku Visual Basic Połączenia ADO...w Przeszukiwanie i dodawanie rekordów...w Wykorzystanie rozszerzeń interfejsu ADO...w Klasa DBase wykorzystująca ADO...w Dostęp do baz danych w Visual Basic.NET...w Wykorzystanie ADO.NET...w Połączenie do bazy danych...w Odczyt danych z bazy...w Wykonanie zapytania...w Usuwanie danych z tabeli...w Dodawanie rekordów do tabeli za pomocą ADO.NET Fasada ADO w Visual Basic.NET...w Klasa DBTable...w...w253

7 8 Visual Basic. Wzorce projektowe Klasy Stores i Foods...w Klasa Prices...w...w Załadowanie danych do bazy...w Końcowa postać programu...w W jaki sposób działa fasada?...w Konsekwencje stosowania wzorca Facade...w Zagadnienia do przemyślenia...w Rozdział 20. Wzorzec Flyweight Omówienie...w...w Przykład zastosowania wzorca Flyweight...w Diagram klas...w...w Wybór folderu...w...w.265 Implementacja wzorca Flyweight w języku Visual Basic.NET Zastosowanie wzorca Flyweight w języku Visual Basic Obiekty współdzielone...w Obiekty kopiowane podczas zapisu...w Zagadnienia do przemyślenia...w Rozdział 21. Wzorzec Proxy Przykładowy program...w Implementacja wzorca Proxy w języku Visual Basic.NET Wzorzec Proxy w języku Visual Basic...w Kopiowanie podczas zapisu...w Porównanie z innymi wzorcami...w Zagadnienia do przemyślenia...w Podsumowanie wzorców strukturalnych...w Część IV Wzorce czynnościowe Rozdział 22. Wzorzec Chain of Responsibility Zastosowania wzorca...w Przykładowy program...w Listy...w...w Implementacja systemu pomocy...w Obsługa polecenia pomocy...w Łańcuch czy drzewo?...w Wzorzec Chain of Responsibility w Visual Basic.NET Rodzaje obsługiwanych żądań...w Zastosowanie wzorca w języku Visual Basic...w Konsekwencje stosowania wzorca Chain of Responsibility Zagadnienia do przemyślenia...w Rozdział 23. Wzorzec Command Motywacja...w...w Polecenie jako obiekt...w Konstrukcja obiektów Command...w Tablice poleceń...w...w Konsekwencje stosowania wzorca Command...w Implementacja funkcji Undo...w Wzorzec Command w Visual Basic.NET...w Interfejs CommandHolder...w Implementacja funkcji Undo w Visual Basic.NET...w..310 Wzorzec Command w języku Visual Basic...w Zagadnienia do przemyślenia...w...312

8 Spis treści 9 Rozdział 24. Wzorzec Interpreter Motywacja...w...w Zastosowania...w...w Przykład prostego raportu...w Interpreter języka...w...w Obiekty używane podczas parsowania...w Redukcja tokenów do operacji...w Implementacja wzorca Interpreter...w Drzewo składni...w...w321 Implementacja wzorca Interpreter w Visual Basicu wersja Obiekty używane podczas parsowania...w Konsekwencje stosowania wzorca Interpreter...w Zagadnienia do przemyślenia...w Rozdział 25. Wzorzec Iterator Motywacja...w...w Przykład iteratora w Visual Basicu wersja 6...w Pobranie iteratora...w Iteratory filtrujące...w...w..332 Wyliczenie filtrowane...w Iteratory w Visual Basic.NET...w Konsekwencje stosowania wzorca Iterator...w Rozdział 26. Wzorzec Mediator Przykładowy system...w Interakcje pomiędzy elementami interfejsu...w Przykładowy program...w Inicjalizacja systemu...w Mediatory i obiekty poleceń...w Wzorzec Mediator w języku Visual Basic.NET...w Inicjalizacja...w...w Obsługa zdarzeń dla nowych kontrolek...w Konsekwencje stosowania wzorca Mediator...w Mediator z pojedynczym interfejsem...w Kwestie implementacji...w Rozdział 27. Wzorzec Memento Motywacja...w...w Implementacja...w...w Przykładowy program...w Ostrzeżenie...w...w Obiekty poleceń interfejsu użytkownika...w Obsługa pozostałych zdarzeń...w Implementacja wzorca Memento w języku Visual Basic.NET Konsekwencje stosowania wzorca Memento...w Zagadnienia do przemyślenia...w Rozdział 28. Wzorzec Observer Obserwacja zmian kolorów...w Implementacja wzorca Observer w języku Visual Basic.NET Inne rodzaje komunikatów...w Konsekwencje stosowania wzorca Observer...w Zagadnienia do przemyślenia...w...367

9 10 Visual Basic. Wzorce projektowe Rozdział 29. Wzorzec State Przykładowy program...w Przełączanie stanów...w Interakcja pomiędzy klasami Mediator i StateManager Klasa FillState...w...w Lista wycofań operacji...w Wypełnianie okręgów w Visual Basicu wersja Implementacja wzorca Pattern w języku Visual Basic.NET Mediator klasa wszechwiedząca?...w Konsekwencje stosowania wzorca State...w Przejścia pomiędzy stanami...w Zagadnienia do przemyślenia...w Rozdział 30. Wzorzec Strategy Motywacja...w...w Przykładowy program...w Kontekst...w...w Polecenia programu...w...w390 Strategie dla wykresu liniowego i wykresu słupkowego Tworzenie wykresów w języku Visual Basic...w Implementacja wzorca Strategy w języku Visual Basic.NET Konsekwencje stosowania wzorca Strategy...w Rozdział 31. Wzorzec Template Method Motywacja...w...w Rodzaje metod w klasie bazowej...w Przykładowy program...w Klasa StdTriangle...w Klasa IsoscelesTriangle...w Program rysujący trójkąty...w Szablony i wywołania zwrotne...w Konsekwencje stosowania wzorca Template Method Rozdział 32. Wzorzec Visitor Motywacja...w...w Zastosowania wzorca Visitor...w Przykładowy program...w Wizytowanie obiektów jednej klasy...w Wizytowanie obiektów wielu klas...w Kierownicy są także pracownikami!...w Uniwersalność wizytatora...w Podwójne wywołania...w Po co to wszystko?...w...w.412 Wizytowanie serii obiektów...w Implementacja wzorca Visitor w Visual Basicu wersja Konsekwencje stosowania wzorca Visitor...w Zagadnienia do przemyślenia...w...416

10 Spis treści 11 Dodatki...o Dodatek A Przykłady na serwerze FTP Bibliografia Skorowidz

11 Rozdział 28. Wzorzec Observer Rysunek Prezentacja danych za pomocą listy oraz w postaci graficznej W tym rozdziale przedstawimy, w jaki sposób zastosoiwać wzorzec Observer do prezentacji tych samych danych jednocześnie w kilku różnych formach. Jest to częste wymaganie w programach pisanych dla systemów posiadających okienkowy interfejs użytkownika. Na przykład program umożliwiający analizę cen akcji może prezentować dane za pomocą wykresu, tabeli i listy. Każda zmiana cen akcji powinna automatycznie spowodować odpowiednią zmianę we wszystkich formach iprezentacji. Do takiego sposobu działania przyzwyczaiły nas popularne programy, jak na przykład arkusz kalkulacyjny Excel. Z drugiej strony system Windows nie zawiera żadnego wsparcia umożliwiającego jego łatwą implementację. Gdyby nawet tak było, to i tak programowanie z wykorzystaniem API systemu Windows w języku C jest dość skomplikowane. Tymczasem w programach pisanych w języku Visual Basic możemy osiągnąć pożądany efekt stosując wzorzec Observer. Wzorzec Observer zakłada, że osobne obiekty reprezentują dane programu, a osobne zajmują się ich prezentacją, oraz że te drugie obserwują zmiany zachodzące w danych. Sytuację tę ilustruje schemat przedstawiony na rysunkiu Implementując wzorzec Observer, dane określamy zwykle jako podmiot (ang. Subject), a każdą z form jego prezentacji mianem obserwatora (ang. Observer). Każdy z obserwatorów zgłasza podmiotowi zainteresowanie jego danymi poprzez wywołanie metody podmiotu. Każdy z obserwatorów musi też posiadać znany podmiotowi interfejs, którego metody podmiot wywołuje, gdy zajdzie zmiana w jego danych. Oba te interfejsy możemy zdefiniować na przykład jak poniżej.

12 362 Część IV Wzorce czynnościowe Korzyścią płynącą ze zdefiniowania tych interfejsów jest to, że mogą je łatwo implementować praktycznie dowolne klasy bez względu na ich rizeczywistą funkcjonalność. Obserwacja zmian kolorów Napiszmy zatem prosty program ilustrujący wykorzystanie opisanej koncepcji. Jego interfejs użytkownika zawierać będzie trzy przyciski wyboru, jak przedstawiono to na rysunku Rysunek Program umożliwiający zmianę danych o kolorach Klasa okna programu będzie implementować interfejs. Oznacza to, że musi udostępnić metodę umożliwiającą obserwatorom zgłoszenie zainteresowania przechowywanymi przez nią danymi. Metoda będzie umieszczać kolejnego obserwatora w kolekcji. W programie utworzymy dwa obiekty reprezentujące obserwatorów. Jeden będzie pokazywał wybrany kolor i jego nazwę, a drugi doda kolor do listy.

13 Rozdział 28. Wzorzec Observer 363 Tworząc okno zgłosimy jego zainteresowanie danymi głównego okna programu. Okno prezentujące listę wybranych dotąd kolorów będzie także pełnić rolę obserwatora. Reprezentująca je klasa pokazana jest poniżej. Wybór jednego z kolorów za pomocą przycisku w głównym ioknie programu spowoduje wywołanie metody dla każdego zarejestrowanego obserwatora. W przypadku okna spowoduje to zmianę koloru wypełniającego obszar kontrolki typu, a okno doda nazwę wybranego koloru do swojej listy. Działanie programu pokazano na rysunku 28.3.

14 364 Część IV Wzorce czynnościowe Rysunek Wybór koloru w głównym oknie programu prezentowany jednocześnie w formie graficznej i na liście. Efekt zastosowania wzorca Observer Implementacja wzorca Observer w języku Visual Basic.NET Podobnie jak w poprzedniej wersji programu, zdefiniujemy najpierw oba interfejsy wzorca Observer. Główne okno programu również będzie zawierać trzy przyciski wyboru i reprezentować podmiot zawiadamiający obserwatorów o zmianach. Aby uprościć program, wszystkie trzy przyciski otrzymają wspólną metodę obsługi zdiarzeń. Metoda ta przesyła obserwatorom łańcuch znaków opisująicy wybrany przycisk.

15 Rozdział 28. Wzorzec Observer 365 Klasa reprezentująca obserwatora dodającego nazwę koloru do listy jest praktycznie taka sama jak w poprzedniej wersji programu. Natomiast klasa reprezentująca obserwatora wypełniającego swoje okno kolorem będzie nieco inna. Tekst prezentujący nazwę wybranego koloru pokażemy bezpośrednio w kodzie metody obsługi zdarzenia odrysowania, kolor tła zmienimy w kodzie metody.

16 366 Część IV Wzorce czynnościowe Inne rodzaje komunikatów Zastanówmy się teraz, jakie rodzaje komunikatów może wysyłać podmiot do obserwatorów? W naszym przykładowym programie rolę komunikatu spełniała etykieta przycisku zawierająca nazwę koloru. Nie zawsze jednak obserwator będzie oczekiwał komunikatu w postaci łańcucha znaków. Łatwo też zauważyć, że w naszym przykładzie dokonujemy dla komunikatu dwu prostych konwersji danych: 1. Pobieramy etykietę przycisku i wysyłamy ją jako ciąg znaków do obserwatora. 2. Obserwator zamienia ciąg znaków na odpowiedni kolor. W bardziej złożonych programach obserwatorzy mogą wymagać różnych, często złożonych komunikatów. Każdy z nich może dokonywać wtedy niezbędnej konwersji, ale w tym celu lepiej będzie zastosować wzorzec Adapter. Innym problemem związanym z zastosowaniem wzorca Observer będzie obserwacja podmiotu, którego dane mogą zmieniać się w różny sposób. Na przykład pozycje listy mogą być dodawane lub usuwane, ale mogą być też modyfikowane. W takim przypadku musimy wysyłać do obserwatorów różne rodzaje komunikatów. Można też wysyłać nadal jeden rodzaj komunikatu, a w odpowiedzi obserwator zapyta o charakter zaistniałych zmian. Rysunek Klasy implementujące interfejsy obserwatora i podmiotu w przykładowym programie wykorzystującym wzorzec Observer Konsekwencje stosowania wzorca Observer Wzorzec Observer wprowadza abstrakcyjne powiązania z podmiotem. Podmiot nie zna szczegółów działania żadnego z obserwatorów. Może więc się okazać, że wobec wystąpienia szeregu przyrostowych zmian danych podmiotu zostanie wysłana do obserwatora

17 Rozdział 28. Wzorzec Observer 367 seria powtarzających się komunikatów, których obsługa wiązać się będzie ze zbyt dużym kosztem. Rozwiązaniem problemu będzie oczywiście wprowadzenie pewnej dodatkowej logiki, tak by informacje o zmianach nie były wysyłanie zbyt wcześnie lub zbyt często. Inny problem występuje w przypadku, gdy zmiana danych podmiotu dokonywana jest przez pewne części kodu lub systemu zwane dalej klientami. Pojawia się wtedy pytanie, kto powinien inicjować wysłanie komunikatu o zmianach. Jeśli odpowiedzialny będzie za to, jak dotychczas, sam podmiot, to w przypadku wykonywania zmian przez kilku klientów znowu mogą pojawić się serie komunikatów o nieznacznych w istocie zmianach. Można ich uniknąć, jeśli to klient będzie informował podmiot, że należy wysłać komunikat. Jeśli jednak któryś z klientów zapomni o poinformowaniu podmiotu, to program nie będzie już działał zgodnie z oczekiwaniami. Stosując wzorzec Observer można także zdefiniować kilka rodzajów komunikatów. W tym celu interfejs obserwatora może definiować kilka różnych metod powiadomienia. Dzięki temu w pewnych sytuacjach obserwator będzie mógł ignorować niektóre z nich. Zagadnienia do przemyślenia Wersja przykładowego programu, którą napisaliśmy korzystając z wersji 6 języka Visual Basic różni się w działaniu od wersji napisanej w Visual Basic.NET tym, że zamknięcie któregokolwiek z okien obserwatorów nie powoduje zamknięcia pozostałych okien i zakończenia pracy programu. W jaki sposób można zastosować dodatkowego obserwatora, aby uzyskać efekt w postaci zakończenia proigramu?

Wzorce projektowe ArrayList. Aplikacja i zdarzenia. Paweł Chodkiewicz

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

Bardziej szczegółowo

Wprowadzenie do programowania aplikacji mobilnych

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

Bardziej szczegółowo

Wzorce projektowe. dr inż. Marcin Pietroo

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.

Bardziej szczegółowo

Programowanie obiektowe

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

Bardziej szczegółowo

Java. Wzorce projektowe

Java. Wzorce projektowe IDZ DO PRZYK ADOWY ROZDZIA KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK SPIS TREŒCI KATALOG ONLINE DODAJ DO KOSZYKA CENNIK I INFORMACJE ZAMÓW INFORMACJE O NOWOŒCIACH ZAMÓW CENNIK Java. Wzorce projektowe

Bardziej szczegółowo

Zaawansowane programowanie w C++ (PCP)

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

Bardziej szczegółowo

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? 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ółowo

Zaawansowane programowanie obiektowe - wykład 5

Zaawansowane 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ółowo

Projektowanie oprogramowania: wzorce architektoniczne i projektowe

Projektowanie oprogramowania: wzorce architektoniczne i projektowe Projektowanie oprogramowania: wzorce architektoniczne i projektowe Ogólne zasady projektowania Nie staraj się zadziwić innych. Rzeczy oczywiste rób w sposób oczywisty. Nie rozmawiaj z nieznajomym. Projekt

Bardziej szczegółowo

Program szkolenia: Wzorce projektowe i ich implementacja w C# oraz testowanie automatyczne

Program szkolenia: Wzorce projektowe i ich implementacja w C# oraz testowanie automatyczne Program szkolenia: Wzorce projektowe i ich implementacja w C# oraz testowanie automatyczne Informacje ogólne Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Wzorce projektowe i ich implementacja

Bardziej szczegółowo

Smarty PHP. Leksykon kieszonkowy

Smarty PHP. Leksykon kieszonkowy IDZ DO PRZYK ADOWY ROZDZIA SPIS TREœCI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG Smarty PHP. Leksykon kieszonkowy Autor: Daniel Bargie³ ISBN: 83-246-0676-9 Format: B6, stron: 112 TWÓJ KOSZYK

Bardziej szczegółowo

Testowanie oprogramowania Wzorce projektowe

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

Bardziej szczegółowo

Technologia Programowania 2016/2017 Wykład 4

Technologia Programowania 2016/2017 Wykład 4 Technologia Programowania 2016/2017 Wykład 4 Wzorce projektowe GoF Jakub Lemiesz Wzorce GRASP a wzorce GoF Znamy 9 wzorców GRASP ogólne zasady Na GRASP opierają się klasyczne wzorce GoF Na wzorcach GoF

Bardziej szczegółowo

Projektowanie obiektowe Wzorce projektowe. Wprowadzenie do wzorców projektowych

Projektowanie obiektowe Wzorce projektowe. Wprowadzenie do wzorców projektowych Projektowanie obiektowe Wzorce projektowe Wprowadzenie do wzorców projektowych 1 Zagadnienia Katalog wzorców projektowych wg Gang of Four Zasady projektowania obiektowego S O L I D MVC - Model-Widok-Kontroler

Bardziej szczegółowo

Wzorce projektowe. dr inż. Marcin Pietroo

Wzorce projektowe. dr inż. Marcin Pietroo Wzorce projektowe dr inż. Marcin Pietroo Iterator czynnościowy wzorzec projektowy (obiektowy), którego celem jest zapewnienie sekwencyjnego dostępu do podobiektów zgrupowanych w większym obiekcie (np.

Bardziej szczegółowo

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) 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ółowo

Technologia Programowania 2016/2017 Wykład 5

Technologia Programowania 2016/2017 Wykład 5 Technologia Programowania 2016/2017 Wykład 5 Wzorce GoF Jakub Lemiesz Wzorce GoF Kreacyjne Builder Singleton Simple Factory Factory Method Abstract Factory Prototype Strukturalne Adapter Decorator Proxy

Bardziej szczegółowo

problem w określonym kontekście siły istotę jego rozwiązania

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

Bardziej szczegółowo

Projektowanie obiektowe Wzorce projektowe

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

Bardziej szczegółowo

Wzorce projektowe Michał Węgorek

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

Bardziej szczegółowo

Program szkolenia: Wzorce projektowe w C++

Program szkolenia: Wzorce projektowe w C++ Program szkolenia: Wzorce projektowe w C++ Informacje: Nazwa: Wzorce projektowe w C++ Kod: CCPP-craft-C++ Patterns Kategoria: Craftsmanship dla programistów C i C ++ Grupa docelowa: developerzy Czas trwania:

Bardziej szczegółowo

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 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ółowo

WZORCE PROJEKTOWE (I) (DESIGN PATTERNS)

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

Bardziej szczegółowo

(wybrane) Wzorce projektowe. Programowanie Obiektowe Mateusz Cicheński

(wybrane) Wzorce projektowe. Programowanie Obiektowe Mateusz Cicheński (wybrane) Wzorce projektowe Programowanie Obiektowe Mateusz Cicheński Kreacyjne Fabryka abstrakcyjna (Abstract Factory) Budowniczy (Builder) Metoda wytwórcza (Factory Method) Prototyp (Prototype) Singleton

Bardziej szczegółowo

(wybrane) Wzorce projektowe. Programowanie Obiektowe Mateusz Cicheński

(wybrane) Wzorce projektowe. Programowanie Obiektowe Mateusz Cicheński (wybrane) Wzorce projektowe Programowanie Obiektowe Mateusz Cicheński Kreacyjne Fabryka abstrakcyjna (Abstract Factory) Budowniczy (Builder) Metoda wytwórcza (Factory Method) Prototyp (Prototype) Singleton

Bardziej szczegółowo

Projektowanie obiektowe Wzorce projektowe. Gang of Four Wzorce rozszerzeń

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

Bardziej szczegółowo

Wzorce projektowe i refaktoryzacja

Wzorce 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ółowo

Matematyka z komputerem dla gimnazjum

Matematyka z komputerem dla gimnazjum IDZ DO PRZYK ADOWY ROZDZIA KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE O NOWO CIACH ZAMÓW CENNIK CZYTELNIA SPIS TRE CI KATALOG ONLINE DODAJ DO KOSZYKA FRAGMENTY

Bardziej szczegółowo

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton

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

Bardziej szczegółowo

Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych

Spis treści 1. Wstęp 2. Projektowanie systemów informatycznych Spis treści 1. Wstęp... 9 1.1. Inżynieria oprogramowania jako proces... 10 1.1.1. Algorytm... 11 1.2. Programowanie w językach wysokiego poziomu... 11 1.3. Obiektowe podejście do programowania... 12 1.3.1.

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu Programowanie obiektowe - zestaw 07 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami tworzenia aplikacji okienkowych w C#. Wprowadzenie teoretyczne. Rozważana w

Bardziej szczegółowo

Omówienie wzorców wykorzystywanych w Prism 5.0. Dominika Różycka

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

Bardziej szczegółowo

Programowanie obiektowe

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ółowo

Microsoft Visual C : praktyczne przykłady / Mariusz Owczarek. Gliwice, cop Spis treści

Microsoft Visual C : praktyczne przykłady / Mariusz Owczarek. Gliwice, cop Spis treści Microsoft Visual C++ 2008 : praktyczne przykłady / Mariusz Owczarek. Gliwice, cop. 2010 Spis treści Co znajdziesz w tej książce? 9 Rozdział 1. Podstawy środowiska Visual C++ 2008 11 Język C++ a.net Framework

Bardziej szczegółowo

Wypożyczalnia VIDEO. Technologie obiektowe

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

Bardziej szczegółowo

Wprowadzenie (17) Część I. Makra w Excelu - podstawy (23)

Wprowadzenie (17) Część I. Makra w Excelu - podstawy (23) Wprowadzenie (17) Omówione zagadnienia (18) Co trzeba wiedzieć? (18) Co trzeba mieć? (18) Układ książki (18) o Część I. Makra w Excelu - podstawy (19) o Część II. Praca ze skoroszytami (19) o Część III.

Bardziej szczegółowo

Wstęp [2/2] Wbrew częstemu przekonaniu, nie są one gotowymi rozwiązaniami, to tylko półprodukty rozwiązania.

Wstęp [2/2] Wbrew częstemu przekonaniu, nie są one gotowymi rozwiązaniami, to tylko półprodukty rozwiązania. Adrian Skalczuk Szymon Kosarzycki Spis Treści Wstęp [1/2] Wzorce projektowe są nieodłącznym przyjacielem programisty pozwalają pisać czystszy kod, łatwiejszy do zrozumienia przez innych i zapewniają pewien

Bardziej szczegółowo

UML [ Unified Modeling Language ]

UML [ Unified Modeling Language ] UML [ Unified Modeling Language ] UML język formalny służący do opisu świata obiektów w analizie obiektowej oraz programowaniu obiektowym. W najnowszej wersji (2.4.x) języka UML wyróżnia się 13 diagramów

Bardziej szczegółowo

AutoCAD 2005. Pierwsze kroki

AutoCAD 2005. Pierwsze kroki IDZ DO PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG AutoCAD 2005. Pierwsze kroki Autor: Andrzej Pikoñ ISBN: 83-7361-581-4 Format: B5, stron: 216 TWÓJ KOSZYK CENNIK

Bardziej szczegółowo

EXSO-CORE - specyfikacja

EXSO-CORE - specyfikacja EXSO-CORE - specyfikacja System bazowy dla aplikacji EXSO. Elementy tego systemu występują we wszystkich programach EXSO. Może on ponadto stanowić podstawę do opracowania nowych, dedykowanych systemów.

Bardziej szczegółowo

Wzorce projektowe. dr inż. Marcin Pietroo

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

Bardziej szczegółowo

Szczegółowy opis zamówienia:

Szczegółowy opis zamówienia: Szczegółowy opis zamówienia: Rok 2016 budowa stron w html5 (8h v + 4h ćw) 8 szt. html5 - zaawans. (7h v + 5h ćw) 8 szt. programowania w java script (9h v + 7h ćw) 8 szt. java script zaawans (8h v + 4h

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Laboratorium z przedmiotu - zestaw 03 Cel zajęć. Celem zajęć jest zapoznanie z praktycznymi aspektami projektowania oraz implementacji klas abstrakcyjnych i interfejsów. Wprowadzenie teoretyczne. Rozważana

Bardziej szczegółowo

Wzorce projektowe cz. I. Wzorce projektowe cz. I 1/33

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

Bardziej szczegółowo

Wzorce projektowe / Eric Freeman [et al.]. Gliwice, cop Spis treści

Wzorce projektowe / Eric Freeman [et al.]. Gliwice, cop Spis treści Wzorce projektowe / Eric Freeman [et al.]. Gliwice, cop. 2011 Spis treści Wprowadzenie Dla kogo przeznaczona jest ta ksiąŝka? 22 Wiemy takŝe, co sobie myśli Twój mózg 23 Metapoznanie 25 Zmuś swój mózg

Bardziej szczegółowo

KATEGORIA OBSZAR WIEDZY

KATEGORIA OBSZAR WIEDZY Moduł 6 - Grafika menedżerska i prezentacyjna - od kandydata wymaga się umiejętności posługiwania się programem komputerowym do tworzenia. Zdający powinien posiadać umiejętności wykonania następujących

Bardziej szczegółowo

Programowanie obiektowe

Programowanie 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ółowo

Projektowanie obiektowe Wzorce projektowe. Gang of Four Wzorce odpowiedzialności

Projektowanie obiektowe Wzorce projektowe. Gang of Four Wzorce odpowiedzialności Projektowanie obiektowe Wzorce projektowe Gang of Four Wzorce odpowiedzialności 1 Roadmap Singleton Observer Mediator Proxy Flyweight 2 Wzorce odpowiedzialności Udostępniają techniki centralizacji, delegowania

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 7 Marcin Młotkowski 8 kwietnia 2015 Plan wykładu Z życia programisty, część 1 1 Z życia programisty, część 1 2 3 Z życia programisty, część 2 Model View Controller MVC w

Bardziej szczegółowo

Programowanie MorphX Ax

Programowanie MorphX Ax Administrowanie Czym jest system ERP? do systemu Dynamics Ax Obsługa systemu Dynamics Ax Wyszukiwanie informacji, filtrowanie, sortowanie rekordów IntelliMorph : ukrywanie i pokazywanie ukrytych kolumn

Bardziej szczegółowo

Singleton. Cel: Przykład: Zastosowanie: Zapewnienie, że klasa ma tylko jedną instancję i dostarczenie globalnego dostępu do niej.

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

Bardziej szczegółowo

P³atnik. Przewodnik IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA SPIS TREŒCI KATALOG ONLINE

P³atnik. Przewodnik IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA SPIS TREŒCI KATALOG ONLINE IDZ DO PRZYK ADOWY ROZDZIA SPIS TREŒCI KATALOG KSI EK KATALOG ONLINE P³atnik. Przewodnik Autor: Adam Józefiok ISBN: 83-246-0404-9 Format: A5, stron: 288 ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK DODAJ DO KOSZYKA

Bardziej szczegółowo

Programowanie obiektowe

Programowanie 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ółowo

MVVM i XAML w Visual Studio 2015 / Jacek Matulewski. Gliwice, cop Spis treści

MVVM i XAML w Visual Studio 2015 / Jacek Matulewski. Gliwice, cop Spis treści MVVM i XAML w Visual Studio 2015 / Jacek Matulewski. Gliwice, cop. 2016 Spis treści Część I Wzorzec MVVM. Podstawy XAML 7 Rozdział 1. Szybkie wprowadzenie do XAML 9 Wzorzec widoku autonomicznego 9 Tworzenie

Bardziej szczegółowo

Język Java część 2 (przykładowa aplikacja)

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

Bardziej szczegółowo

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. 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ółowo

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Dr inż. Jacek WARCHULSKI Dr inż. Marcin WARCHULSKI Mgr inż. Witold BUŻANTOWICZ Wojskowa Akademia Techniczna SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD Streszczenie: W referacie przedstawiono możliwości

Bardziej szczegółowo

Programowanie obiektowe

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.

Bardziej szczegółowo

Wzorce oprogramowania Gof (cd) zastosowane w modelu obiektowym

Wzorce oprogramowania Gof (cd) zastosowane w modelu obiektowym Wzorce oprogramowania Gof (cd) (Gang of Four skrót odnoszący się do autorów ksiązki: Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software)

Bardziej szczegółowo

Wzorce Strukturalne. Adapter: opis. Tomasz Borzyszkowski

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ół

Bardziej szczegółowo

OpenOffice.ux.pl 2.0. Æwiczenia praktyczne

OpenOffice.ux.pl 2.0. Æwiczenia praktyczne IDZ DO PRZYK ADOWY ROZDZIA SPIS TREŒCI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG OpenOffice.ux.pl 2.0. Æwiczenia praktyczne Autor: Maria Sokó³ ISBN: 83-246-0508-8 Format: A5, stron: 220 TWÓJ

Bardziej szczegółowo

Wykład 8: klasy cz. 4

Wykł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ółowo

OpenOfficePL. Zestaw szablonów magazynowych. Instrukcja obsługi

OpenOfficePL. Zestaw szablonów magazynowych. Instrukcja obsługi OpenOfficePL Zestaw szablonów magazynowych Instrukcja obsługi Spis treści : 1. Informacje ogólne 2. Instalacja zestawu a) konfiguracja połączenia z bazą danych b) import danych z poprzedniej wersji faktur

Bardziej szczegółowo

Wstęp 7 Rozdział 1. OpenOffice.ux.pl Writer środowisko pracy 9

Wstęp 7 Rozdział 1. OpenOffice.ux.pl Writer środowisko pracy 9 Wstęp 7 Rozdział 1. OpenOffice.ux.pl Writer środowisko pracy 9 Uruchamianie edytora OpenOffice.ux.pl Writer 9 Dostosowywanie środowiska pracy 11 Menu Widok 14 Ustawienia dokumentu 16 Rozdział 2. OpenOffice

Bardziej szczegółowo

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

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

Bardziej szczegółowo

Analiza i projektowanie aplikacji Java

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

Bardziej szczegółowo

PLAN 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 ), 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ółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Kierunek: Inżynieria Biomedyczna Rodzaj przedmiotu: obowiązkowy moduł specjalności informatyka medyczna Rodzaj zajęć: wykład, laboratorium PROGRAMOWANIE OBIEKTOWE Object-Oriented Programming

Bardziej szczegółowo

Programowanie Zespołowe

Programowanie Zespołowe Programowanie Zespołowe Dobre Praktyki dr Rafał Skinderowicz mgr inż. Michał Maliszewski Parafrazując klasyka: Jeśli piszesz w Javie pisz w Javie - Rafał Ciepiela Principal Software Developer Cadence Design

Bardziej szczegółowo

Wprowadzenie do projektu QualitySpy

Wprowadzenie 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ółowo

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop. 2017 Spis treści O autorach 11 Podziękowania 12 Wprowadzenie 13 CZĘŚĆ I ZACZNIJ PROGRAMOWAĆ JUŻ DZIŚ Godzina 1. Praktyczne

Bardziej szczegółowo

Wykład 5: Klasy cz. 3

Wykład 5: Klasy cz. 3 Programowanie obiektowe Wykład 5: cz. 3 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD - podstawy Konstruktor i destruktor (część I) 2 Konstruktor i destruktor KONSTRUKTOR Dla przykładu

Bardziej szczegółowo

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 6

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 6 Instrukcja 6 Laboratorium 8 Opracowanie diagramów sekwencji dla wybranych przypadków użycia reprezentujących usługi oprogramowania wynikających również z wykonanych diagramów czynności; definicja operacji

Bardziej szczegółowo

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę. Języki C i C++ to bardzo uniwersalne platformy programistyczne o ogromnych możliwościach. Wykorzystywane są do tworzenia systemów operacyjnych i oprogramowania użytkowego. Dzięki niskiemu poziomowi abstrakcji

Bardziej szczegółowo

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI

Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI 1 Teraz bajty. Informatyka dla szkoły podstawowej. Klasa VI 1. Obliczenia w arkuszu kalkulacyjnym Rozwiązywanie problemów z wykorzystaniem aplikacji komputerowych obliczenia w arkuszu kalkulacyjnym wykonuje

Bardziej szczegółowo

C++. Æwiczenia zaawansowane

C++. Æwiczenia zaawansowane IDZ DO PRZYK ADOWY ROZDZIA SPIS TRECI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG C++. Æwiczenia zaawansowane Autor: Andrzej Stasiewicz ISBN: 83-7361-766-3 Format: B5, stron: 120 TWÓJ KOSZYK

Bardziej szczegółowo

Spis treści 3. Spis treści

Spis treści 3. Spis treści 3 Wstęp... 9 1. Informatyka w procesie zarządzania przedsiębiorstwem... 15 1.1. Związek informatyki z zarządzaniem przedsiębiorstwem... 17 1.2. System informacyjny a system informatyczny... 21 1.3. Historia

Bardziej szczegółowo

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) Projektowanie obiektowe Wzorce projektowe Gang of Four Strukturalne wzorce projektowe (Wzorce interfejsów) 1 Roadmap Adapter Bridge Composite Facade 2 Pojęcia obiekt interfejs typ klasa 3 Co to jest delegacja?

Bardziej szczegółowo

PHP: bazy danych, SQL, AJAX i JSON

PHP: 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ółowo

MySQL. Æwiczenia praktyczne

MySQL. Æwiczenia praktyczne IDZ DO PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG MySQL. Æwiczenia praktyczne Autor: Marek Nowakowski ISBN: 83-7197-884-7 Format: B5, stron: 114 TWÓJ KOSZYK DODAJ

Bardziej szczegółowo

Scenariusz lekcji. wymienić podstawowe typy danych omówione na lekcji; wymienić funkcje konwertujące typy danych, omawiane na lekcji.

Scenariusz lekcji. wymienić podstawowe typy danych omówione na lekcji; wymienić funkcje konwertujące typy danych, omawiane na lekcji. 1 TEMAT LEKCJI: Zmienne i ich wykorzystanie. 2 CELE LEKCJI: Wykorzystanie zmiennych w aplikacjach. 2.1 Wiadomości: Uczeń potrafi: podać definicję zmiennej; podać definicję stałej; wymienić podstawowe typy

Bardziej szczegółowo

1 TEMAT LEKCJI: 2 CELE LEKCJI: 3 METODY NAUCZANIA 4 ŚRODKI DYDAKTYCZNE. Scenariusz lekcji. 2.1 Wiadomości: 2.2 Umiejętności: Scenariusz lekcji

1 TEMAT LEKCJI: 2 CELE LEKCJI: 3 METODY NAUCZANIA 4 ŚRODKI DYDAKTYCZNE. Scenariusz lekcji. 2.1 Wiadomości: 2.2 Umiejętności: Scenariusz lekcji Scenariusz lekcji 1 TEMAT LEKCJI: Obsługa baz danych w VB.NET 2 CELE LEKCJI: 2.1 Wiadomości: Uczeń potrafi: wymienić dostawców baz danych obsługiwanych przez VS.NET; wymienić klasy służące do obsługi baz

Bardziej szczegółowo

Programowanie obiektowe

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

Bardziej szczegółowo

Wykład Ćwiczenia Laboratorium Projekt Seminarium

Wykł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ółowo

Wzorce projektowe [ wstęp ]

Wzorce projektowe [ wstęp ] Wzorce projektowe [ wstęp ] Motywacje definiowania wzorców projektowych Za twórcę uważany jest amerykański architekt Christopher Alexander Alexander, C., Ishikawa, S., Silverstein, M., The Timeless Way

Bardziej szczegółowo

Informatyka Europejczyka. Zeszyt æwiczeñ dla szko³y podstawowej. Czêœæ II

Informatyka Europejczyka. Zeszyt æwiczeñ dla szko³y podstawowej. Czêœæ II IDZ DO PRZYK ADOWY ROZDZIA SPIS TREœCI KATALOG KSI EK KATALOG ONLINE ZAMÓW DRUKOWANY KATALOG Informatyka Europejczyka. Zeszyt æwiczeñ dla szko³y podstawowej. Czêœæ II Autorzy: Danuta Kia³ka, Katarzyna

Bardziej szczegółowo

Wykład 3 Składnia języka C# (cz. 2)

Wykład 3 Składnia języka C# (cz. 2) Wizualne systemy programowania Wykład 3 Składnia języka C# (cz. 2) 1 dr Artur Bartoszewski -Wizualne systemy programowania, sem. III- WYKŁAD Wizualne systemy programowania Metody 2 Metody W C# nie jest

Bardziej szczegółowo

Programowanie współbieżne Wykład 8 Podstawy programowania obiektowego. Iwona Kochaoska

Programowanie 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ółowo

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018 Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy

Bardziej szczegółowo

Obiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.

Obiekt 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ółowo

Plan nauczania informatyki Opracował: mgr Daniel Starego

Plan nauczania informatyki Opracował: mgr Daniel Starego Obowiązuje od roku szkolnego 000/00 Plan nauczania informatyki Opracował: mgr Daniel Starego Szkoła podstawowa klasy IV VI Dział, tematyka L. godz. I rok II rok. TECHNIKA KOMPUTEROWA W ŻYCIU CZŁOWIEKA

Bardziej szczegółowo

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Dokumentacja 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ółowo

Podstawy Programowania Obiektowego

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

Bardziej szczegółowo

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 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ółowo

Programowanie w języku Java WYKŁAD

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

Bardziej szczegółowo

Spis treści. Rozdział 1. Aplikacje konsoli w stylu ANSI C i podstawowe operacje w Visual C++... 7

Spis treści. Rozdział 1. Aplikacje konsoli w stylu ANSI C i podstawowe operacje w Visual C++... 7 Spis treści Wprowadzenie...n...n... 5 Jak korzystać z tej książki?...t... 6 Rozdział 1. Aplikacje konsoli w stylu ANSI C i podstawowe operacje w Visual C++... 7 Podsumowanie...t...t...15 Rozdział 2. Rozdział

Bardziej szczegółowo

Rysunkowy tutorial Możesz swobodnie dystrybuować ten plik jeśli pozostawisz go w nietkniętym stanie. Możesz także cytować jego fragmenty umieszczając w tekście odnośnik http://mbartyzel.blogspot.com Jak

Bardziej szczegółowo

5. Arkusz kalkulacyjny Excel 205

5. Arkusz kalkulacyjny Excel 205 Informatyka dla kadry kierowniczej przedsiębiorstwa : podręcznik akademicki / Jan Kowalczuk, Barbara Niekrasz, Anna Wallis ; pod red. Eugeniusza Michalskiego. Koszalin, 2012 Spis treści Wstęp 9 1. Informatyka

Bardziej szczegółowo