Java Wzorce projektowe(1).pdf

(368 KB) Pobierz
C:\Andrzej\PDF\Java. Wzorce projektowe\1 strona.cdr
IDZ DO
Java. Wzorce
projektowe
SPIS TRECI
KATALOG KSI¥¯EK
KATALOG ONLINE
Autor: James William Cooper
T³umaczenie: Piotr Badarycz
ISBN: 83-7197-529-5
Tytu³ orygina³u:
Format: B5, stron: oko³o 400
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
Jest to praktyczna ksi¹¿ka, która mówi o tym jak pisaæ programy w jêzyku Java
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¿
diagramy UML pokazuj¹ce zale¿noci wystêpuj¹ce pomiêdzy klasami programu.
Podczas lektury niniejszej ksi¹¿ki czytelnik dowie siê, ¿e wzorce projektowe s¹
powszechnie stosowanym sposobem organizacji obiektów w programach. Dziêki
wykorzystaniu wzorców ³atwiej jest pisaæ programy i póniej 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.
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWOCIACH
ZAMÓW CENNIK
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
319877855.002.png 319877855.003.png 319877855.004.png 319877855.005.png
Przedmowa .....................................................................................9
Podzikowania..............................................................................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 jzyku 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 przemy7lenia........................................................................................31
Rozdział 4. Factory Method (metoda fabrykuj+ca) ...........................................33
Klasa Swimmer.............................................................................................................35
Klasa Event....................................................................................................................35
Rozstawienie bezpo7rednie...........................................................................................36
Program rozstawiaj;cy..................................................................................................38
Inne fabryki...................................................................................................................38
Kiedy u<ywa= Factory Method.....................................................................................38
Zagadnienia do przemy7lenia........................................................................................39
T:\Andrzej\Java. Wzorce\!Spis treci.doc
3
319877855.001.png
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 przemy7lenia........................................................................................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 dostpu dla wzorca Singleton...................................49
Pakiet javax.comm jako przykład u<ycia wzorca Singleton.........................................50
Konsekwencje stosowania wzorca Singleton................................................................53
Zagadnienia do przemy7lenia........................................................................................53
Rozdział 7. Builder (budowniczy).....................................................................55
Program do 7ledzenia inwestycji...................................................................................56
Nazywanie budowniczych.............................................................................................57
Budowniczy listy wyboru..............................................................................................59
Budowniczy pól wyboru................................................................................................60
Konsekwencje stosowania wzorca Builder...................................................................61
Zagadnienia do przemy7lenia........................................................................................61
Rozdział 8. Prototype (prototyp)......................................................................63
Klonowanie obiektów w jzyku 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 przemy7lenia........................................................................................71
Podsumowanie wzorców konstrukcyjnych...................................................................71
Cz III Wzorce strukturalne.....................................................73
Rozdział 9. 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 przemy7lenia........................................................................................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 przemy7lenia........................................................................................90
Rozdział 11. Composite (kompozyt) ..................................................................91
Implementacja kompozytu............................................................................................92
Obliczanie wynagrodzeB...............................................................................................92
4
T:\Andrzej\Java. Wzorce\!Spis treci.doc
Spis treci
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 przemy7lenia........................................................................................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 przemy7lenia......................................................................................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 przemy7lenia......................................................................................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 przemy7lenia......................................................................................123
Rozdział 15. Proxy (po7rednik)........................................................................125
Przykładowy kod.........................................................................................................126
Kopiowanie podczas zapisu........................................................................................128
Enterprise Java Beans..................................................................................................128
Porównanie z innymi wzorcami..................................................................................128
Zagadnienia do przemy7lenia......................................................................................128
Podsumowanie wzorców strukturalnych.....................................................................128
Cz IV Wzorce czynnociowe................................................131
Rozdział 16. Chain of Responsibility (ła8cuch odpowiedzialno7ci).....................133
Zastosowania...............................................................................................................134
Przykładowy kod.........................................................................................................134
Wizualne komponenty pola listy.................................................................................137
Implementacja systemu pomocy.................................................................................139
ŁaBcuch czy drzewo?..................................................................................................142
Rodzaje <;daB..............................................................................................................143
Przykłady w Javie........................................................................................................143
Konsekwencje stosowania wzorca Chain of Responsibility.......................................143
Zagadnienia do przemy7lenia......................................................................................144
T:\Andrzej\Java. Wzorce\!Spis treci.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 jzyku Java..............................................................................150
Konsekwencje stosowania wzorca Command.............................................................151
Wycofywanie operacji.................................................................................................152
Zagadnienia do przemy7lenia......................................................................................155
Rozdział 18. Interpreter ..................................................................................157
Motywacja...................................................................................................................157
Zastosowania...............................................................................................................157
Prosty przykład raportowania......................................................................................158
Interpretowanie jzyka................................................................................................159
Obiekty u<ywane podczas parsowania........................................................................160
Redukowanie parsowanego stosu................................................................................162
Implementowanie wzorca Interpretera........................................................................163
Konsekwencje stosowania wzorca Interpretera...........................................................166
Zagadnienia do przemy7lenia......................................................................................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 przemy7lenia......................................................................................174
Rozdział 20. Mediator.....................................................................................175
Przykładowy system....................................................................................................175
Interakcje pomidzy komponentami...........................................................................176
Przykładowy kod.........................................................................................................177
Mediatorzy i obiekty poleceB......................................................................................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 przemy7lenia......................................................................................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 przemy7lenia......................................................................................196
6
T:\Andrzej\Java. Wzorce\!Spis treci.doc
Zgłoś jeśli naruszono regulamin