Java Wzorce projektowe javawz


IDZ DO
IDZ DO
PRZYKŁADOWY ROZDZIAŁ
PRZYKŁADOWY ROZDZIAŁ
Java. Wzorce
SPIS TRERCI
SPIS TRERCI
projektowe
KATALOG KSIĄŻEK
KATALOG KSIĄŻEK
Autor: James William Cooper
KATALOG ONLINE
KATALOG ONLINE
Tłumaczenie: Piotr Badarycz
ISBN: 83-7197-529-5
Tytuł oryginału: Java Design Patterns
ZAMÓW DRUKOWANY KATALOG
ZAMÓW DRUKOWANY KATALOG
Format: B5, stron: około 400
TWÓJ KOSZYK
TWÓJ KOSZYK
Jest to praktyczna książka, która mówi o tym jak pisać programy w języku Java
DODAJ DO KOSZYKA
DODAJ DO KOSZYKA
z użyciem standardowych wzorców projektowych. Książka składa się z serii krótkich
rozdziałów, z których każdy opisuje jeden wzorzec i zawiera przynajmniej jeden
wizualny, kompletny i działający przykładowy program. Każdy rozdział zawiera również
CENNIK I INFORMACJE
CENNIK I INFORMACJE
diagramy UML pokazujące zależnoSci występujące pomiędzy klasami programu.
Podczas lektury niniejszej książki czytelnik dowie się, że wzorce projektowe są
ZAMÓW INFORMACJE
ZAMÓW INFORMACJE powszechnie stosowanym sposobem organizacji obiektów w programach. Dzięki
O NOWORCIACH
O NOWORCIACH
wykorzystaniu wzorców łatwiej jest pisać programy i póxniej je modyfikować.
Zapoznanie się z wzorcami pozwoli zdobyć słownictwo i zestaw pojęć, za pomocą
których można łatwiej opisać konstrukcję swoich programów.
ZAMÓW CENNIK
ZAMÓW CENNIK
CZYTELNIA
CZYTELNIA
FRAGMENTY KSIĄŻEK ONLINE
FRAGMENTY KSIĄŻEK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Przedmowa .....................................................................................9
Podzi kowania ..............................................................................11
Cz ć I Czym s wzorce projektowe? .......................................13
Rozdział 1. Wprowadzenie...............................................................................15
Definicja wzorca projektowego.....................................................................................17
Proces uczenia sią..........................................................................................................18
Studiowanie wzorców projektowych ............................................................................19
Uwagi na temat projektowania zorientowanego obiektowo .........................................19
Klasy JFC ......................................................................................................................20
Wzorce projektowe w jązyku Java ................................................................................20
Rozdział 2. Diagramy UML ..............................................................................21
Dziedziczenie ................................................................................................................22
Interfejsy........................................................................................................................23
Kompozycja...................................................................................................................23
Adnotacje.......................................................................................................................24
JVISION........................................................................................................................24
Visual SlickEdit.............................................................................................................24
Cz ć II Wzorce konstrukcyjne..................................................25
Rozdział 3. Factory (fabryka) ..........................................................................27
Jak działa fabryka ..........................................................................................................27
Przykładowy kod...........................................................................................................28
Teraz dwie klasy pochodne ...........................................................................................28
Tworzenie Simple Factory ............................................................................................29
Wzorzec Factory w obliczeniach matematycznych ......................................................30
Zagadnienia do przemyślenia ........................................................................................31
Rozdział 4. Factory Method (metoda fabrykuj ca) ...........................................33
Klasa Swimmer .............................................................................................................35
Klasa Event....................................................................................................................35
Rozstawienie bezpośrednie ...........................................................................................36
Program rozstawiający ..................................................................................................38
Inne fabryki ...................................................................................................................38
Kiedy używać Factory Method .....................................................................................38
Zagadnienia do przemyślenia ........................................................................................39
T:\Andrzej\Java. Wzorce\!Spis treści.doc 3
4 Java. Wzorce projektowe
Rozdział 5. Abstract Factory (fabryka abstrakcji).............................................41
Abstract Factory w projektowaniu ogrodów .................................................................42
Jak działa interfejs użytkownika ...................................................................................43
Dodawanie nowych klas................................................................................................44
Konsekwencje stosowania wzorca Abstract Factory ....................................................45
Zagadnienia do przemyślenia ........................................................................................45
Rozdział 6. Singleton ......................................................................................47
Tworzymy Singleton używając metody statycznej .......................................................47
Wyjątek..........................................................................................................................48
Zgłaszanie wyjątku........................................................................................................48
Tworzenie instancji klasy..............................................................................................49
Dostarczenie globalnego punktu dostąpu dla wzorca Singleton ...................................49
Pakiet javax.comm jako przykład użycia wzorca Singleton .........................................50
Konsekwencje stosowania wzorca Singleton................................................................53
Zagadnienia do przemyślenia ........................................................................................53
Rozdział 7. Builder (budowniczy).....................................................................55
Program do śledzenia inwestycji ...................................................................................56
Nazywanie budowniczych.............................................................................................57
Budowniczy listy wyboru..............................................................................................59
Budowniczy pól wyboru................................................................................................60
Konsekwencje stosowania wzorca Builder ...................................................................61
Zagadnienia do przemyślenia ........................................................................................61
Rozdział 8. Prototype (prototyp)......................................................................63
Klonowanie obiektów w jązyku Java ............................................................................64
Używanie prototypu ......................................................................................................64
Stosowanie wzorca Prototypu .......................................................................................66
Menedżer prototypów....................................................................................................69
Klonowanie z wykorzystaniem serializacji ...................................................................69
Konsekwencje stosowania wzorca Prototypu ...............................................................70
Zagadnienia do przemyślenia ........................................................................................71
Podsumowanie wzorców konstrukcyjnych ...................................................................71
Cz ć III Wzorce strukturalne.....................................................73
Rozdział 9. Adapter ........................................................................................75
Przenoszenie danych pomiądzy listami.........................................................................75
Korzystanie z klasy JList z biblioteki JFC ....................................................................76
Adaptery uniwersalne....................................................................................................81
Adaptery dynamiczne....................................................................................................81
Adaptery w jązyku Java.................................................................................................82
Zagadnienia do przemyślenia ........................................................................................83
Rozdział 10. Bridge (most) ...............................................................................85
Diagram klas..................................................................................................................87
Rozbudowa mostu .........................................................................................................87
Java Bean jako przykład wzorca Bridge .......................................................................89
Konsekwencje stosowania wzorca Bridge ....................................................................89
Zagadnienia do przemyślenia ........................................................................................90
Rozdział 11. Composite (kompozyt) ..................................................................91
Implementacja kompozytu ............................................................................................92
Obliczanie wynagrodzeń ...............................................................................................92
4 T:\Andrzej\Java. Wzorce\!Spis treści.doc
Spis treści 5
Klasa Employee.............................................................................................................93
Klasa Boss .....................................................................................................................94
Tworzenie drzewa pracowników...................................................................................96
Awans............................................................................................................................97
Lista dwukierunkowa ....................................................................................................97
Konsekwencje stosowania wzorca Composite..............................................................98
Prosty Composite...........................................................................................................98
Kompozyty w Javie .......................................................................................................99
Inne kwestie dotyczące implementacji..........................................................................99
Zagadnienia do przemyślenia ........................................................................................99
Rozdział 12. Decorator (dekorator) .................................................................101
Dekorowanie przycisku ...............................................................................................101
Użycie dekoratora........................................................................................................103
Diagram klas................................................................................................................104
Dekorowanie obwódek w Javie...................................................................................105
Dekoratory niewizualne...............................................................................................106
Dekoratory, adaptery i kompozyty ..............................................................................108
Konsekwencje stosowania wzorca Dekoratora ...........................................................108
Zagadnienia do przemyślenia ......................................................................................109
Rozdział 13. Facade (fasada)..........................................................................111
Tworzenie klas fasady .................................................................................................112
Konsekwencje stosowania wzorca Facade..................................................................115
Uwagi dotyczące instalacji i uruchamiania programu dbFrame .................................115
Zagadnienia do przemyślenia ......................................................................................116
Rozdział 14. Flyweight (waga piórkowa)..........................................................117
Omówienie ..................................................................................................................118
Przykładowy kod.........................................................................................................118
Wzorce Flyweight w Javie ..........................................................................................122
Współdzielone obiekty ................................................................................................122
Obiekty  kopiowane podczas zapisu .........................................................................123
Zagadnienia do przemyślenia ......................................................................................123
Rozdział 15. Proxy (po rednik)........................................................................125
Przykładowy kod.........................................................................................................126
Kopiowanie podczas zapisu ........................................................................................128
Enterprise Java Beans..................................................................................................128
Porównanie z innymi wzorcami ..................................................................................128
Zagadnienia do przemyślenia ......................................................................................128
Podsumowanie wzorców strukturalnych.....................................................................128
Cz ć IV Wzorce czynno ciowe ................................................131
Rozdział 16. Chain of Responsibility (ła cuch odpowiedzialno ci).....................133
Zastosowania ...............................................................................................................134
Przykładowy kod.........................................................................................................134
Wizualne komponenty pola listy.................................................................................137
Implementacja systemu pomocy .................................................................................139
Aańcuch czy drzewo? ..................................................................................................142
Rodzaje żądań..............................................................................................................143
Przykłady w Javie........................................................................................................143
Konsekwencje stosowania wzorca Chain of Responsibility .......................................143
Zagadnienia do przemyślenia ......................................................................................144
T:\Andrzej\Java. Wzorce\!Spis treści.doc 5
6 Java. Wzorce projektowe
Rozdział 17. Command (polecenie) .................................................................145
Motywacja ...................................................................................................................145
Obiekt polecenia..........................................................................................................146
Używanie obiektów polecenia.....................................................................................147
Wzorzec Command .....................................................................................................148
Wzorzec Command w jązyku Java..............................................................................150
Konsekwencje stosowania wzorca Command.............................................................151
Wycofywanie operacji.................................................................................................152
Zagadnienia do przemyślenia ......................................................................................155
Rozdział 18. Interpreter ..................................................................................157
Motywacja ...................................................................................................................157
Zastosowania ...............................................................................................................157
Prosty przykład raportowania......................................................................................158
Interpretowanie jązyka ................................................................................................159
Obiekty używane podczas parsowania........................................................................160
Redukowanie parsowanego stosu................................................................................162
Implementowanie wzorca Interpretera ........................................................................163
Konsekwencje stosowania wzorca Interpretera...........................................................166
Zagadnienia do przemyślenia ......................................................................................167
Rozdział 19. Iterator.......................................................................................169
Motywacja ...................................................................................................................169
Wyliczenia w Javie......................................................................................................170
Przykładowy kod.........................................................................................................170
Iteratory filtrowane......................................................................................................171
Konsekwencje stosowania wzorca Iteratora................................................................173
Iteratory i kompozyty ..................................................................................................174
Iteratory w Javie 1.2 ....................................................................................................174
Zagadnienia do przemyślenia ......................................................................................174
Rozdział 20. Mediator.....................................................................................175
Przykładowy system....................................................................................................175
Interakcje pomiądzy komponentami ...........................................................................176
Przykładowy kod.........................................................................................................177
Mediatorzy i obiekty poleceń ......................................................................................180
Konsekwencje stosowania wzorca Mediatora.............................................................180
Mediator z pojedynczym interfejsem ..........................................................................181
Kwestie implementacyjne ...........................................................................................181
Rozdział 21. Memento ....................................................................................183
Motywacja ...................................................................................................................183
Implementacja .............................................................................................................184
Przykładowy kod.........................................................................................................184
Konsekwencje stosowania wzorca Memento..............................................................188
Zagadnienia do przemyślenia ......................................................................................188
Rozdział 22. Observer (obserwator).................................................................189
Obserwowanie zmian kolorów....................................................................................190
Inne rodzaje komunikatów ..........................................................................................193
Klasa JList jako obserwator.........................................................................................193
Architektura model-widok-kontroler jako wzorzec Observer.....................................194
Interfejs Observer i klasa Observable..........................................................................195
Konsekwencje stosowania wzorca Observer...............................................................195
Zagadnienia do przemyślenia ......................................................................................196
6 T:\Andrzej\Java. Wzorce\!Spis treści.doc
Spis treści 7
Rozdział 23. State (stan)................................................................................197
Przykładowy kod.........................................................................................................197
Przełączanie pomiądzy stanami...................................................................................201
Interakcje mediatora z klasą StateManager.................................................................202
Przejścia pomiądzy stanami ........................................................................................204
Mediator   klasa Bóg .............................................................................................204
Konsekwencje stosowania wzorca State .....................................................................204
Zagadnienia do przemyślenia ......................................................................................205
Rozdział 24. Strategy (strategia) ....................................................................207
Motywacja ...................................................................................................................207
Przykładowy kod.........................................................................................................208
Klasa Context ..............................................................................................................209
Polecenia programu .....................................................................................................210
Strategia dla wykresu liniowego i wykresu słupkowego ............................................210
Rysowanie wykresów w Javie.....................................................................................211
Konsekwencje stosowania wzorca Strategy................................................................213
Zagadnienia do przemyślenia ......................................................................................214
Rozdział 25. Template (szablon)......................................................................215
Motywacja ...................................................................................................................215
Rodzaje metod w klasach szablonowych ....................................................................216
Wzorce metod szablonowych w Javie.........................................................................217
Przykładowy kod.........................................................................................................217
Szablony i wywołania zwrotne....................................................................................221
Konsekwencje stosowania wzorca Template ..............................................................222
Zagadnienia do przemyślenia ......................................................................................222
Rozdział 26. Visitor (wizytator) .......................................................................223
Motywacja ...................................................................................................................223
Kiedy używać wzorca Visitor .....................................................................................224
Przykładowy kod.........................................................................................................225
Wizytowanie klas ........................................................................................................226
Wizytowanie wielu klas ..............................................................................................227
Kierownicy są również pracownikami ........................................................................228
Operacje wizytatora wyłapujące wszystkie klasy .......................................................229
Podwójne wywołania...................................................................................................230
Przemierzanie wielu klas.............................................................................................230
Konsekwencje stosowania wzorca Visitor ..................................................................230
Zagadnienia do przemyślenia ......................................................................................231
Cz ć V Wzorce projektowe i Java Foundation Classes ............233
Rozdział 27. JFC czyli Swing ...........................................................................235
Instalacja i korzystanie z klas Swing...........................................................................235
Koncepcje, na których oparta jest biblioteka Swing ...................................................236
Hierarchia klas Swing..................................................................................................236
Rozdział 28. Pisanie prostego programu z wykorzystaniem JFC ........................237
Ustawianie definicji wyglądu i zachowania ................................................................237
Obsługa zdarzenia zamkniącia okna ...........................................................................238
Klasa JxFrame .............................................................................................................238
Prosty program z dwoma przyciskami ........................................................................239
Wiącej o klasie JButton...............................................................................................240
T:\Andrzej\Java. Wzorce\!Spis treści.doc 7
8 Java. Wzorce projektowe
Rozdział 29. Przyciski radiowe i paski narz dziowe ..........................................241
Przyciski radiowe ........................................................................................................241
Klasa JToolBar ............................................................................................................242
JToggleButton .............................................................................................................242
Przykładowy program z różnymi przyciskami............................................................243
Rozdział 30. Komponenty menu i obiekty akcji ................................................245
Obiekty akcji ...............................................................................................................245
Wzorce projektowe i obiekty akcji..............................................................................248
Rozdział 31. Klasa JList ..................................................................................249
Zaznaczanie elementów listy i zdarzenia ....................................................................250
Dynamiczna zmiana wyświetlanej zawartości listy ....................................................250
Posortowana lista wykorzystująca komponent JList i obiekt ListModel ....................252
Sortowanie bardziej skomplikowanych obiektów.......................................................253
Otrzymywanie klucza bazy danych.............................................................................255
Dodawanie ikon do komponentu JList ........................................................................256
Rozdział 32. Klasa JTable ...............................................................................259
Prosty program z komponentem JTable ......................................................................259
Interpretatory wyglądu komórek .................................................................................262
Interpretacja innych klas..............................................................................................263
Zaznaczanie komórek tabeli ........................................................................................265
Wzorce użyte w powyższym przykładzie ...................................................................266
Rozdział 33. Klasa JTree.................................................................................269
Interfejs TreeModel .....................................................................................................270
Podsumowanie.............................................................................................................271
Cz ć VI Studium przypadków..................................................273
Rozdział 34. Sandy i mediator.........................................................................275
Rozdział 35. Problemy Herba z przetwarzaniem tekstu .....................................279
Rozdział 36. Dylemat Mary .............................................................................281
Dodatki .......................................................................................283
Bibliografia .................................................................................285
Skorowidz ...................................................................................287
8 T:\Andrzej\Java. Wzorce\!Spis treści.doc
Rozdział 13.
W niniejszym rozdziale bądziemy zajmować sią wzorcem Facade. Wzorzec ten jest uży-
wany do obudowywania zbioru złożonych klas i dostarcza dla nich prostszego interfejsu.
Cząsto program podczas tworzenia ewoluuje i rośnie stopień jego komplikacji. Zachwy-
cając sią korzyściami płynącymi ze stosowania wzorców projektowych, zauważamy
też ich ujemną cechą: czasami generują one bardzo wiele dodatkowych klas, przez co
trudniej jest zrozumieć działanie programu. Poza tym programy cząsto składają sią
z szeregu podsystemów, z których każdy posiada swój własny skomplikowany interfejs.
Fasada pozwala uprościć tą złożoność dostarczając uproszczonego interfejsu do tych
podsystemów. Takie uproszczenie może czasami zmniejszyć elastyczność przykrywa-
nych klas, lecz cząsto dostarcza wszystkich funkcji niezbądnych każdemu użytkowni-
kowi. Oczywiście przykrywane klasy i ich metody mogą być w dalszym ciągu dostąpne.
Na szcząście, aby przedstawić przykład zastosowania wzorca Facade, nie bądziemy
musieli tworzyć złożonego systemu. Java dostarcza zbioru klas, które pozwalają na
łączenie sią z bazami danych poprzez interfejs zwany JDBC. Można połączyć sią
z każdą bazą danych, dla której producent dostarczył sterownik JDBC (odpowiedni
zestaw klas), czyli z prawie każdą bazą danych dostąpną na rynku. Niektóre bazy da-
nych pozwalają na połączenie bezpośrednie, do innych dostąp jest zapewniony po-
przez klasą mostu JDBC-ODBC.
Klasy obsługujące bazy danych z pakietu java.sql stanowią doskonały przykład niskopo-
ziomowych klas, które komunikują sią ze sobą w bardzo zawiły sposób (rysunek 13.1).
Rysunek 13.1.
Zarys interakcji
pomiędzy klasami
pakietu java.sql.*,
używanych do połączeń
z bazą danych
T:\Andrzej\Java. Wzorce\12-93.doc 111
112 Część III f& Wzorce strukturalne
f&
f&
f&
Do połączenia z bazą danych wykorzystywana jest instancja klasy . Do
określania nazw tabel bazy danych i ich pól korzysta sią z klasy
poprzez klasą . Do konstruowania zapytań w jązyku SQL, czyli obiektu
typu String, wykorzystuje sią klasą . Poprzez wykonanie zapytania (klasa
) otrzymuje sią wynik  obiekt klasy . Do określenia nazw ko-
lumn trzeba jeszcze uzyskać instancją klasy . Operowanie wszyst-
kimi tymi klasami może być bardzo trudne, wiąkszość wywołań może zwracać wy-
jątki, przez co kod jest bardzo zagmatwany.
Poprzez zbudowanie fasady składającej sią z klasy i klasy , możemy
zbudować łatwiejszy w użyciu system.
Rysunek 13.2.
Fasada zakrywająca
wiele klas pakietu
java.sql.*
Tworzenie klas fasady
Przyjrzyjmy sią, jak nawiązuje sią połączenie z bazą danych. Najpierw trzeba zała-
dować sterownik bazy danych.






Nastąpnie używamy klasy do łączenia sią z bazą danych. Pobieramy rów-
nież metadane, aby dowiedzieć sią wiącej o bazie danych.






Jeśli chcemy sporządzić listą wszystkich nazw tabel bazy danych, musimy wywołać
metodą klasy , która zwróci obiekt . Aby uzyskać listą
nazw musimy przejść przez wszystkie elementy tego obiektu, i wyłuskać tylko tabele
użytkownika, odrzucając tabele systemowe.
112 T:\Andrzej\Java. Wzorce\12-93.doc
Rozdział 13. f& Facade (fasada)113
f&
f&
f&










Jak widać, już teraz bardzo trudno jest tym wszystkim zarządzać, a nie wykonaliśmy
nawet jeszcze żadnego zapytania.
Możemy przyjąć pewne założenie upraszczające: wyjątki, które są zgłaszane przez
metody klas nie wymagają skomplikowanej obsługi. W przeważającej cząści metody
bądą pracowały bezbłądnie, dopóki prawidłowo bądzie działać połączenie sieciowe
z serwerem bazy danych. Wiąc możemy obudować wszystkie te metody, tak by błą-
dy, które wystąpią były wypisywane bez podejmowania żadnych dodatkowych akcji.
Możliwe jest teraz napisanie prostych klas zawierających wszystkie ważne metody
klas , , i . Tak bądą wyglądały metody klasy
:










A tak, metody klasy Results.








Te proste klasy pozwalają nam napisać program otwierający połączenie z bazą da-
nych i wyświetlający nazwy jej tabel, kolumn i zawartość. Program umożliwia rów-
nież wykonanie prostego zapytania SQL.
Nasz przykładowy program wykorzystujący fasadę daje dostąp do bazy danych za-
wierającej ceny żywności w trzech okolicznych supermarketach.
T:\Andrzej\Java. Wzorce\12-93.doc 113
114 Część III f& Wzorce strukturalne
f&
f&
f&
Rysunek 13.3.
Program dbFrame
pokazuje dostęp
do nazw tabel, kolumn
i ich zawartości
Klikniącie nazwy tabeli wyświetli nazwy kolumn tej tabeli, a klikniącie nazwy ko-
lumny wyświetli zawartość tej kolumny. Naciśniącie przycisku  Run Query wy-
świetli posortowane ceny pomarańczy we wszystkich supermarketach (rysunek 13.4).
Rysunek 13.4.
Wynik zapytania
wykonanego
przez program dbFrame
Po uruchomieniu program łączy sią z bazą danych i pobiera listą tabel.




Klikniącie w obszarze listy powoduje wykonanie zapytania dla nazw kolumn lub za-
wartości.



















114 T:\Andrzej\Java. Wzorce\12-93.doc
Rozdział 13. f& Facade (fasada)115
f&
f&
f&






Diagram przedstawia kompletną prezentacją klas fasady.
Rysunek 13.5.
Klasy fasady,
z których może
korzystać użytkownik
Zauważmy, że klasa zawiera instancją klasy ,
i . Z kolei klasa zawiera instancje klas i .
Konsekwencje stosowania wzorca Facade
Wzorzec Facade izoluje klienta od skomplikowanych komponentów podsystemów
i dostarcza do nich prostszy interfejs do ogólnego użytku. Jednak nie ogranicza za-
awansowanemu użytkownikowi dostąpu do złożonych klas znajdujących sią głąbiej.
Dodatkowo Facade umożliwia dokonywanie zmian w przykrywanych podsystemach
bez potrzeby modyfikacji kodu klienta i redukuje liczbą zależności podczas kompilacji.
Uwagi dotycz ce instalacji i uruchamiania
programu dbFrame
Aby umożliwić komunikacją z bazą danych, należy zainstalować sterowniki ODBC
i JDBC-ODBC dla Javy. Ten przykładowy program bądzie działał tylko w środowi-
sku Windows, ponieważ wymaga bazy danych Microsoft Access  pliku groce-
ries.mdb. Sterownik JDBC-ODBC jest wbudowany w Javą 2 (wersja 1.2 lub wyższa).
Gdy używa sią wersji wcześniejszych, należy zaopatrzyć sią w ten sterownik. Jest do-
stąpny na stronie WWW: java.sun.com.
T:\Andrzej\Java. Wzorce\12-93.doc 115
116 Część III f& Wzorce strukturalne
f&
f&
f&
Sterownik ODBC Data Access jest dostąpny na stronach firmy Microsoft. Po zain-
stalowaniu pojawi sią folder ODBC w panelu sterowania.
Program z foldera Facade, który znajduje sią na serwerze ftp wydawnictwa Helion
(ftp://ftp.helion.pl/przyklady/javawz.zip), należy przekopiować na twardy dysk. Na-
stąpnie należy uruchomić program ODBC z panelu sterowania i zarejestrować plik
groceries.mdb, nacisnąć przycisk  Add i wypełnić panel jak pokazano to na rysunku
13.6. Aby ustawić lokalizacją pliku groceries.mdb należy nacisnąć  Select i wskazać
na plik w katalogu, do którego został wkopiowany.
Rysunek 13.6.
Sposób skonfigurowania
dostępu ODBC/JDBC
do przykładowej
bazy danych
Jeśli zródło danych zostanie nazwane inaczej niż  Grocery Prices , trzeba bądzie
zmienić 20. linią w programie dbFrame.java.
Zagadnienia do przemy lenia
1. Przypuśćmy, że mamy napisany program z polem menu File/Open
i przyciskami pozwalającymi kontrolować rodzaj czcionki (pogrubiona
i kursywa). Teraz przypuśćmy, że potrzebujemy, aby program dało sią
uruchamiać z linii komend przez podanie argumentów. Proszą zastanowić
sią, jak można wykorzystać wzorzec Facade, aby to osiągnąć.
116 T:\Andrzej\Java. Wzorce\12-93.doc


Wyszukiwarka

Podobne podstrony:
informatyka ajax wzorce projektowe michael mahemoff ebook
BYT Wzorce projektowe wyklady z 10 i 24 11 2006
Ruby Wzorce projektowe rubywz
Architektura systemow zarzadzania przedsiebiorstwem Wzorce projektowe
C Wzorce projektowe
Ajax Wzorce projektowe
Visual Basic Wzorce projektowe

więcej podobnych podstron