You are on page 1of 13

IDZ DO

PRZYKADOWY ROZDZIA
SPIS TRECI

KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG

Java. Wzorce
projektowe
Autor: James William Cooper
Tumaczenie: Piotr Badarycz
ISBN: 83-7197-529-5
Tytu oryginau: Java Design Patterns
Format: B5, stron: okoo 400

TWJ KOSZYK
DODAJ DO KOSZYKA

CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK

CZYTELNIA
FRAGMENTY KSIEK ONLINE

Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl

Jest to praktyczna ksika, ktra mwi o tym jak pisa programy w jzyku Java
z uyciem standardowych wzorcw projektowych. Ksika skada si z serii krtkich
rozdziaw, z ktrych kady opisuje jeden wzorzec i zawiera przynajmniej jeden
wizualny, kompletny i dziaajcy przykadowy program. Kady rozdzia zawiera rwnie
diagramy UML pokazujce zalenoci wystpujce pomidzy klasami programu.
Podczas lektury niniejszej ksiki czytelnik dowie si, e wzorce projektowe s
powszechnie stosowanym sposobem organizacji obiektw w programach. Dziki
wykorzystaniu wzorcw atwiej jest pisa programy i pniej je modyfikowa.
Zapoznanie si z wzorcami pozwoli zdoby sownictwo i zestaw poj, za pomoc
ktrych mona atwiej opisa konstrukcj swoich programw.

Przedmowa .....................................................................................9
Podzi kowania ..............................................................................11

Cz I
Rozdzia 1.

Czym s wzorce projektowe? .......................................13


Wprowadzenie...............................................................................15
Definicja wzorca projektowego.....................................................................................17
Proces uczenia si..........................................................................................................18
Studiowanie wzorcw projektowych ............................................................................19
Uwagi na temat projektowania zorientowanego obiektowo .........................................19
Klasy JFC ......................................................................................................................20
Wzorce projektowe w jzyku Java ................................................................................20

Rozdzia 2.

Diagramy UML ..............................................................................21


Dziedziczenie ................................................................................................................22
Interfejsy........................................................................................................................23
Kompozycja...................................................................................................................23
Adnotacje.......................................................................................................................24
JVISION ........................................................................................................................24
Visual SlickEdit.............................................................................................................24

Cz II
Rozdzia 3.

Wzorce konstrukcyjne..................................................25
Factory (fabryka) ..........................................................................27
Jak dziaa fabryka ..........................................................................................................27
Przykadowy kod ...........................................................................................................28
Teraz dwie klasy pochodne ...........................................................................................28
Tworzenie Simple Factory ............................................................................................29
Wzorzec Factory w obliczeniach matematycznych ......................................................30
Zagadnienia do przemylenia ........................................................................................31

Rozdzia 4.

Factory Method (metoda fabrykuj+ca) ...........................................33


Klasa Swimmer .............................................................................................................35
Klasa Event....................................................................................................................35
Rozstawienie bezporednie ...........................................................................................36
Program rozstawiajcy ..................................................................................................38
Inne fabryki ...................................................................................................................38
Kiedy uywa Factory Method .....................................................................................38
Zagadnienia do przemylenia ........................................................................................39

T:\Andrzej\Java. Wzorce\!Spis treci.doc

Rozdzia 5.

Java. Wzorce projektowe

Abstract Factory (fabryka abstrakcji).............................................41


Abstract Factory w projektowaniu ogrodw .................................................................42
Jak dziaa interfejs uytkownika ...................................................................................43
Dodawanie nowych klas................................................................................................44
Konsekwencje stosowania wzorca Abstract Factory ....................................................45
Zagadnienia do przemylenia ........................................................................................45

Rozdzia 6.

Singleton ......................................................................................47
Tworzymy Singleton uywajc metody statycznej .......................................................47
Wyjtek..........................................................................................................................48
Zgaszanie wyjtku........................................................................................................48
Tworzenie instancji klasy ..............................................................................................49
Dostarczenie globalnego punktu dostpu dla wzorca Singleton ...................................49
Pakiet javax.comm jako przykad uycia wzorca Singleton .........................................50
Konsekwencje stosowania wzorca Singleton................................................................53
Zagadnienia do przemylenia ........................................................................................53

Rozdzia 7.

Builder (budowniczy) .....................................................................55


Program do ledzenia inwestycji ...................................................................................56
Nazywanie budowniczych.............................................................................................57
Budowniczy listy wyboru..............................................................................................59
Budowniczy pl wyboru................................................................................................60
Konsekwencje stosowania wzorca Builder ...................................................................61
Zagadnienia do przemylenia ........................................................................................61

Rozdzia 8.

Prototype (prototyp)......................................................................63
Klonowanie obiektw w jzyku Java ............................................................................64
Uywanie prototypu ......................................................................................................64
Stosowanie wzorca Prototypu .......................................................................................66
Meneder prototypw....................................................................................................69
Klonowanie z wykorzystaniem serializacji ...................................................................69
Konsekwencje stosowania wzorca Prototypu ...............................................................70
Zagadnienia do przemylenia ........................................................................................71
Podsumowanie wzorcw konstrukcyjnych ...................................................................71

Cz III
Rozdzia 9.

Wzorce strukturalne.....................................................73
Adapter ........................................................................................75
Przenoszenie danych pomidzy listami.........................................................................75
Korzystanie z klasy JList z biblioteki JFC ....................................................................76
Adaptery uniwersalne....................................................................................................81
Adaptery dynamiczne....................................................................................................81
Adaptery w jzyku Java.................................................................................................82
Zagadnienia do przemylenia ........................................................................................83

Rozdzia 10.

Bridge (most) ...............................................................................85


Diagram klas..................................................................................................................87
Rozbudowa mostu .........................................................................................................87
Java Bean jako przykad wzorca Bridge .......................................................................89
Konsekwencje stosowania wzorca Bridge ....................................................................89
Zagadnienia do przemylenia ........................................................................................90

Rozdzia 11.

Composite (kompozyt) ..................................................................91


Implementacja kompozytu ............................................................................................92
Obliczanie wynagrodze ...............................................................................................92

T:\Andrzej\Java. Wzorce\!Spis treci.doc

Spis treci

5
Klasa Employee.............................................................................................................93
Klasa Boss .....................................................................................................................94
Tworzenie drzewa pracownikw...................................................................................96
Awans ............................................................................................................................97
Lista dwukierunkowa ....................................................................................................97
Konsekwencje stosowania wzorca Composite..............................................................98
Prosty Composite...........................................................................................................98
Kompozyty w Javie .......................................................................................................99
Inne kwestie dotyczce implementacji..........................................................................99
Zagadnienia do przemylenia ........................................................................................99

Rozdzia 12.

Decorator (dekorator) .................................................................101


Dekorowanie przycisku ...............................................................................................101
Uycie dekoratora........................................................................................................103
Diagram klas................................................................................................................104
Dekorowanie obwdek w Javie...................................................................................105
Dekoratory niewizualne...............................................................................................106
Dekoratory, adaptery i kompozyty ..............................................................................108
Konsekwencje stosowania wzorca Dekoratora ...........................................................108
Zagadnienia do przemylenia ......................................................................................109

Rozdzia 13.

Facade (fasada) ..........................................................................111


Tworzenie klas fasady .................................................................................................112
Konsekwencje stosowania wzorca Facade..................................................................115
Uwagi dotyczce instalacji i uruchamiania programu dbFrame .................................115
Zagadnienia do przemylenia ......................................................................................116

Rozdzia 14.

Flyweight (waga pirkowa)..........................................................117


Omwienie ..................................................................................................................118
Przykadowy kod .........................................................................................................118
Wzorce Flyweight w Javie ..........................................................................................122
Wspdzielone obiekty ................................................................................................122
Obiekty kopiowane podczas zapisu .........................................................................123
Zagadnienia do przemylenia ......................................................................................123

Rozdzia 15.

Proxy (po7rednik)........................................................................125
Przykadowy kod .........................................................................................................126
Kopiowanie podczas zapisu ........................................................................................128
Enterprise Java Beans..................................................................................................128
Porwnanie z innymi wzorcami ..................................................................................128
Zagadnienia do przemylenia ......................................................................................128
Podsumowanie wzorcw strukturalnych.....................................................................128

Cz IV
Rozdzia 16.

Wzorce czynnociowe ................................................131


Chain of Responsibility (a8cuch odpowiedzialno7ci).....................133
Zastosowania ...............................................................................................................134
Przykadowy kod .........................................................................................................134
Wizualne komponenty pola listy .................................................................................137
Implementacja systemu pomocy .................................................................................139
acuch czy drzewo? ..................................................................................................142
Rodzaje da..............................................................................................................143
Przykady w Javie........................................................................................................143
Konsekwencje stosowania wzorca Chain of Responsibility .......................................143
Zagadnienia do przemylenia ......................................................................................144

T:\Andrzej\Java. Wzorce\!Spis treci.doc

Rozdzia 17.

Java. Wzorce projektowe

Command (polecenie) .................................................................145


Motywacja ...................................................................................................................145
Obiekt polecenia..........................................................................................................146
Uywanie obiektw polecenia.....................................................................................147
Wzorzec Command .....................................................................................................148
Wzorzec Command w jzyku Java..............................................................................150
Konsekwencje stosowania wzorca Command.............................................................151
Wycofywanie operacji.................................................................................................152
Zagadnienia do przemylenia ......................................................................................155

Rozdzia 18.

Interpreter ..................................................................................157
Motywacja ...................................................................................................................157
Zastosowania ...............................................................................................................157
Prosty przykad raportowania......................................................................................158
Interpretowanie jzyka ................................................................................................159
Obiekty uywane podczas parsowania........................................................................160
Redukowanie parsowanego stosu................................................................................162
Implementowanie wzorca Interpretera ........................................................................163
Konsekwencje stosowania wzorca Interpretera...........................................................166
Zagadnienia do przemylenia ......................................................................................167

Rozdzia 19.

Iterator .......................................................................................169
Motywacja ...................................................................................................................169
Wyliczenia w Javie......................................................................................................170
Przykadowy kod .........................................................................................................170
Iteratory filtrowane......................................................................................................171
Konsekwencje stosowania wzorca Iteratora................................................................173
Iteratory i kompozyty ..................................................................................................174
Iteratory w Javie 1.2 ....................................................................................................174
Zagadnienia do przemylenia ......................................................................................174

Rozdzia 20.

Mediator.....................................................................................175
Przykadowy system....................................................................................................175
Interakcje pomidzy komponentami ...........................................................................176
Przykadowy 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
Przykadowy kod .........................................................................................................184
Konsekwencje stosowania wzorca Memento..............................................................188
Zagadnienia do przemylenia ......................................................................................188

Rozdzia 22.

Observer (obserwator).................................................................189
Obserwowanie zmian kolorw ....................................................................................190
Inne rodzaje komunikatw ..........................................................................................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 przemylenia ......................................................................................196

T:\Andrzej\Java. Wzorce\!Spis treci.doc

Spis treci

Rozdzia 23.

State (stan) ................................................................................197


Przykadowy kod .........................................................................................................197
Przeczanie pomidzy stanami...................................................................................201
Interakcje mediatora z klas StateManager.................................................................202
Przejcia pomidzy stanami ........................................................................................204
Mediator klasa Bg .............................................................................................204
Konsekwencje stosowania wzorca State .....................................................................204
Zagadnienia do przemylenia ......................................................................................205

Rozdzia 24.

Strategy (strategia) ....................................................................207


Motywacja ...................................................................................................................207
Przykadowy kod .........................................................................................................208
Klasa Context ..............................................................................................................209
Polecenia programu .....................................................................................................210
Strategia dla wykresu liniowego i wykresu supkowego ............................................210
Rysowanie wykresw w Javie.....................................................................................211
Konsekwencje stosowania wzorca Strategy................................................................213
Zagadnienia do przemylenia ......................................................................................214

Rozdzia 25.

Template (szablon)......................................................................215
Motywacja ...................................................................................................................215
Rodzaje metod w klasach szablonowych ....................................................................216
Wzorce metod szablonowych w Javie.........................................................................217
Przykadowy kod .........................................................................................................217
Szablony i wywoania zwrotne....................................................................................221
Konsekwencje stosowania wzorca Template ..............................................................222
Zagadnienia do przemylenia ......................................................................................222

Rozdzia 26.

Visitor (wizytator) .......................................................................223


Motywacja ...................................................................................................................223
Kiedy uywa wzorca Visitor .....................................................................................224
Przykadowy kod .........................................................................................................225
Wizytowanie klas ........................................................................................................226
Wizytowanie wielu klas ..............................................................................................227
Kierownicy s rwnie pracownikami ........................................................................228
Operacje wizytatora wyapujce wszystkie klasy .......................................................229
Podwjne wywoania...................................................................................................230
Przemierzanie wielu klas.............................................................................................230
Konsekwencje stosowania wzorca Visitor ..................................................................230
Zagadnienia do przemylenia ......................................................................................231

Cz V
Rozdzia 27.

Wzorce projektowe i Java Foundation Classes ............233


JFC czyli Swing ...........................................................................235
Instalacja i korzystanie z klas Swing...........................................................................235
Koncepcje, na ktrych oparta jest biblioteka Swing ...................................................236
Hierarchia klas Swing..................................................................................................236

Rozdzia 28.

Pisanie prostego programu z wykorzystaniem JFC ........................237


Ustawianie definicji wygldu i zachowania ................................................................237
Obsuga zdarzenia zamknicia okna ...........................................................................238
Klasa JxFrame .............................................................................................................238
Prosty program z dwoma przyciskami ........................................................................239
Wicej o klasie JButton ...............................................................................................240

T:\Andrzej\Java. Wzorce\!Spis treci.doc

Rozdzia 29.

Java. Wzorce projektowe

Przyciski radiowe i paski narz dziowe ..........................................241


Przyciski radiowe ........................................................................................................241
Klasa JToolBar ............................................................................................................242
JToggleButton .............................................................................................................242
Przykadowy program z rnymi 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 elementw listy i zdarzenia ....................................................................250
Dynamiczna zmiana wywietlanej zawartoci listy ....................................................250
Posortowana lista wykorzystujca komponent JList i obiekt ListModel ....................252
Sortowanie bardziej skomplikowanych obiektw.......................................................253
Otrzymywanie klucza bazy danych.............................................................................255
Dodawanie ikon do komponentu JList ........................................................................256

Rozdzia 32.

Klasa JTable ...............................................................................259


Prosty program z komponentem JTable ......................................................................259
Interpretatory wygldu komrek .................................................................................262
Interpretacja innych klas..............................................................................................263
Zaznaczanie komrek tabeli ........................................................................................265
Wzorce uyte w powyszym przykadzie ...................................................................266

Rozdzia 33.

Klasa JTree .................................................................................269


Interfejs TreeModel .....................................................................................................270
Podsumowanie.............................................................................................................271

Cz VI

Studium przypadkw ..................................................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

T:\Andrzej\Java. Wzorce\!Spis treci.doc

Rozdzia 13.

W niniejszym rozdziale bdziemy zajmowa si wzorcem Facade. Wzorzec ten jest uywany do obudowywania zbioru zoonych klas i dostarcza dla nich prostszego interfejsu.
Czsto program podczas tworzenia ewoluuje i ronie stopie jego komplikacji. Zachwycajc si korzyciami pyncymi ze stosowania wzorcw projektowych, zauwaamy
te ich ujemn cech: czasami generuj one bardzo wiele dodatkowych klas, przez co
trudniej jest zrozumie dziaanie programu. Poza tym programy czsto skadaj si
z szeregu podsystemw, z ktrych kady posiada swj wasny skomplikowany interfejs.
Fasada pozwala uproci t zoono dostarczajc uproszczonego interfejsu do tych
podsystemw. Takie uproszczenie moe czasami zmniejszy elastyczno przykrywanych klas, lecz czsto dostarcza wszystkich funkcji niezbdnych kademu uytkownikowi. Oczywicie przykrywane klasy i ich metody mog by w dalszym cigu dostpne.
Na szczcie, aby przedstawi przykad zastosowania wzorca Facade, nie bdziemy
musieli tworzy zoonego systemu. Java dostarcza zbioru klas, ktre pozwalaj na
czenie si z bazami danych poprzez interfejs zwany JDBC. Mona poczy si
z kad baz danych, dla ktrej producent dostarczy sterownik JDBC (odpowiedni
zestaw klas), czyli z prawie kad baz danych dostpn na rynku. Niektre bazy danych pozwalaj na poczenie bezporednie, do innych dostp jest zapewniony poprzez klas mostu JDBC-ODBC.
Klasy obsugujce bazy danych z pakietu java.sql stanowi doskonay przykad niskopoziomowych klas, ktre komunikuj si ze sob w bardzo zawiy sposb (rysunek 13.1).
Rysunek 13.1.
Zarys interakcji
pomidzy klasami
pakietu java.sql.*,
uywanych do pocze
z baz danych

T:\Andrzej\Java. Wzorce\12-93.doc

111

Cz III Wzorce strukturalne

112

Do poczenia z baz danych wykorzystywana jest instancja klasy . Do


okrelania nazw tabel bazy danych i ich pl korzysta si z klasy  
  
poprzez klas . Do konstruowania zapyta w jzyku SQL, czyli obiektu
typu String, wykorzystuje si klas  . Poprzez wykonanie zapytania (klasa
 ) otrzymuje si wynik obiekt klasy  . Do okrelenia nazw kolumn trzeba jeszcze uzyska instancj klasy     . Operowanie wszystkimi tymi klasami moe by bardzo trudne, wikszo wywoa moe zwraca wyjtki, przez co kod jest bardzo zagmatwany.
Poprzez zbudowanie fasady skadajcej si z klasy  
 i klasy   , moemy
zbudowa atwiejszy w uyciu system.
Rysunek 13.2.
Fasada zakrywajca
wiele klas pakietu
java.sql.*

Tworzenie klas fasady


Przyjrzyjmy si, jak nawizuje si poczenie z baz danych. Najpierw trzeba zaadowa sterownik bazy danych.


  

 
  
!

" 


Nastpnie uywamy klasy  do czenia si z baz danych. Pobieramy rwnie metadane, aby dowiedzie si wicej o bazie danych.

 #$"
  !
# 
"$
 
  
!

" 


Jeli chcemy sporzdzi list wszystkich nazw tabel bazy danych, musimy wywoa
metod 
 klasy   , ktra zwrci obiekt  . Aby uzyska list
nazw musimy przej przez wszystkie elementy tego obiektu, i wyuska tylko tabele
uytkownika, odrzucajc tabele systemowe.

112

T:\Andrzej\Java. Wzorce\12-93.doc

Rozdzia 13. Facade (fasada)

113

% #&% 


'  % 
 & () & &

 ! #&* ! 
+'  ,!,-.-, 
 
  
!


& !
 "  

 !
 !%!-+/01 /"-

Jak wida, ju teraz bardzo trudno jest tym wszystkim zarzdza, a nie wykonalimy
nawet jeszcze adnego zapytania.
Moemy przyj pewne zaoenie upraszczajce: wyjtki, ktre s zgaszane przez
metody klas nie wymagaj skomplikowanej obsugi. W przewaajcej czci metody
bd pracoway bezbdnie, dopki prawidowo bdzie dziaa poczenie sieciowe
z serwerem bazy danych. Wic moemy obudowa wszystkie te metody, tak by bdy, ktre wystpi byy wypisywane bez podejmowania adnych dodatkowych akcji.
Moliwe jest teraz napisanie prostych klas zawierajcych wszystkie wane metody
klas ,  ,   i    . Tak bd wyglday metody klasy
 
:
 $' 
!'$'    ! 
!' 2 !, 
!' 34+'  
!' 34 !   '
!'  !%! ',
  ! 
!'  %!  ! 
!'* ! !  5


A tak, metody klasy Results.


 * ! 
!'* ! * !    ! 
!' 34"$
!''  "  
!' 34
!'  !%!  ! 
!'  !%!


Te proste klasy pozwalaj nam napisa program otwierajcy poczenie z baz danych i wywietlajcy nazwy jej tabel, kolumn i zawarto. Program umoliwia rwnie wykonanie prostego zapytania SQL.
Nasz przykadowy program wykorzystujcy fasad daje dostp do bazy danych zawierajcej ceny ywnoci w trzech okolicznych supermarketach.

T:\Andrzej\Java. Wzorce\12-93.doc

113

Cz III Wzorce strukturalne

114
Rysunek 13.3.
Program dbFrame
pokazuje dostp
do nazw tabel, kolumn
i ich zawartoci

Kliknicie nazwy tabeli wywietli nazwy kolumn tej tabeli, a kliknicie nazwy kolumny wywietli zawarto tej kolumny. Nacinicie przycisku Run Query wywietli posortowane ceny pomaraczy 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.


'#&$' - !
6'
'
7'2'$-
'
2-6'8 '89  -,!
  34#'
+'  
 0 +' , 

Kliknicie w obszarze listy powoduje wykonanie zapytania dla nazw kolumn lub zawartoci.
!'  :
2'6 '6#
 !
  '6##+' 
  & ! 
  '6## ! 
  &$

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   & ! 
  34#'
 !  +'
 :
 0  ! , 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   &$
  # !
 :
  #'
 !%!+'
 :, 
$
% '  
$
 /
$
% '!

114

T:\Andrzej\Java. Wzorce\12-93.doc

Rozdzia 13. Facade (fasada)

115

 #'
 %! !
 :
& 
<=
$
 
& #'
 %! !
 :



Diagram przedstawia kompletn prezentacj klas fasady.


Rysunek 13.5.
Klasy fasady,
z ktrych moe
korzysta uytkownik

Zauwamy, e klasa  
 zawiera instancj klasy ,       
i   . Z kolei klasa   zawiera instancje klas   i      .

Konsekwencje stosowania wzorca Facade


Wzorzec Facade izoluje klienta od skomplikowanych komponentw podsystemw
i dostarcza do nich prostszy interfejs do oglnego uytku. Jednak nie ogranicza zaawansowanemu uytkownikowi dostpu do zoonych klas znajdujcych si gbiej.
Dodatkowo Facade umoliwia dokonywanie zmian w przykrywanych podsystemach
bez potrzeby modyfikacji kodu klienta i redukuje liczb zalenoci podczas kompilacji.

Uwagi dotyczce instalacji i uruchamiania


programu dbFrame
Aby umoliwi komunikacj z baz danych, naley zainstalowa sterowniki ODBC
i JDBC-ODBC dla Javy. Ten przykadowy program bdzie dziaa tylko w rodowisku Windows, poniewa wymaga bazy danych Microsoft Access pliku groceries.mdb. Sterownik JDBC-ODBC jest wbudowany w Jav 2 (wersja 1.2 lub wysza).
Gdy uywa si wersji wczeniejszych, naley zaopatrzy si w ten sterownik. Jest dostpny na stronie WWW: java.sun.com.

T:\Andrzej\Java. Wzorce\12-93.doc

115

Cz III Wzorce strukturalne

116

Sterownik ODBC Data Access jest dostpny na stronach firmy Microsoft. Po zainstalowaniu pojawi si folder ODBC w panelu sterowania.
Program z foldera Facade, ktry znajduje si na serwerze ftp wydawnictwa Helion
(ftp://ftp.helion.pl/przyklady/javawz.zip), naley przekopiowa na twardy dysk. Nastpnie naley uruchomi program ODBC z panelu sterowania i zarejestrowa plik
groceries.mdb, nacisn przycisk Add i wypeni panel jak pokazano to na rysunku
13.6. Aby ustawi lokalizacj pliku groceries.mdb naley nacisn Select i wskaza
na plik w katalogu, do ktrego zosta wkopiowany.
Rysunek 13.6.
Sposb skonfigurowania
dostpu ODBC/JDBC
do przykadowej
bazy danych

Jeli rdo danych zostanie nazwane inaczej ni Grocery Prices, trzeba bdzie
zmieni 20. lini w programie dbFrame.java.

Zagadnienia do przemylenia
1. Przypumy, e mamy napisany program z polem menu File/Open

i przyciskami pozwalajcymi kontrolowa rodzaj czcionki (pogrubiona


i kursywa). Teraz przypumy, e potrzebujemy, aby program dao si
uruchamia z linii komend przez podanie argumentw. Prosz zastanowi
si, jak mona wykorzysta wzorzec Facade, aby to osign.

116

T:\Andrzej\Java. Wzorce\12-93.doc

You might also like