James William Cooper java. wzorce projektowe pełna wersja.pdf

(8973 KB) Pobierz
888082144.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
Spis treci
7
Rozdział 23. State (stan)................................................................................197
Przykładowy kod.........................................................................................................197
Przeł;czanie pomidzy stanami...................................................................................201
Interakcje mediatora z klas; StateManager.................................................................202
Przej7cia pomidzy stanami........................................................................................204
Mediator — „klasa Bóg”.............................................................................................204
Konsekwencje stosowania wzorca State.....................................................................204
Zagadnienia do przemy7lenia......................................................................................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 przemy7lenia......................................................................................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 przemy7lenia......................................................................................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 przemy7lenia......................................................................................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 zamknicia okna...........................................................................238
Klasa JxFrame.............................................................................................................238
Prosty program z dwoma przyciskami........................................................................239
Wicej o klasie JButton...............................................................................................240
T:\Andrzej\Java. Wzorce\!Spis treci.doc
7
Zgłoś jeśli naruszono regulamin