j2ee. wzorce projektowe. wydanie 2 full scan.pdf

(21429 KB) Pobierz
710271674 UNPDF
IDZ DO
PRZYK£ADOW Y ROZDZIA£
J2EE. Wzorce
SPIS TRECI
projektowe. Wydanie 2
KATALOG KSI¥¯EK
Autor: Deepak Alur, John Crupi, Dan Malks
T³umaczenie: Rafa³ Joñca
ISBN: 83-7361-344-7
Tytu³ orygina³ u: Core J2EE Patterns.
Format: B5, stron: 518
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
TWÓJ KOSZYK
DODAJ DO KOSZYKA
Podstawowymi zagadnieniami opisywanymi w ksi¹¿ce s¹ wzorce, najlepsze techniki,
strategie projektowe i sprawdzone rozwi¹zania wykorzystuj¹ce kluczowe technologie
J2EE, czyli strony JSP, serwlety, komponenty EJB i interfejs JMS. Katalog wzorców
J2EE zawiera 21 wzorców i o wiele wiêcej strategii, przy wykorzystaniu których
powstaj¹ najlepsze rozwi¹zania programistyczne.
„J2EE. Wzorce projektowe. Wydanie drugie” zawiera opis nastêpuj¹cych zagadnieñ:
• 21 wzorców projektowych J2EE — znane i w pe³ni sprawdzone oraz nowe wzorce
zapewniaj¹ce najlepsze rozwi¹zania dla aplikacji biznesowych
• strategie projektowe dla warstwy prezentacji, biznesowej i integracji
• opis zastosowania technologii JSP, EJB, JSM, us³ug sieciowych i serwletów
• przyk³ady niezalecanych rozwi¹zañ stosuj¹cych technologiê J2EE
• sposoby refaktoryzacji poprawiaj¹ce istniej¹ce projekty
• diagramy UML ilustruj¹ce przedstawiane zagadnienia
• du¿¹ liczbê przyk³adów zastosowania wzorców, strategii i refaktoryzacji
Deepak Alur jest architektem rozwi¹zañ biznesowych Javy w Sun Java Center
z 14-letnim dowiadczeniem. Zajmuje siê g³ównie architektur¹, projektowaniem
i implementacj¹ du¿ych rozwi¹zañ biznesowych z zastosowaniem technologii
Java i J2EE.
John Crupi jest wybitnym in¿ynierem i szefem architektów Javy w Sun Java Center.
Posiada 17-letnie dowiadczenie w obliczeniach rozproszonych i zajmuje siê przede
wszystkim tworzeniem skalowalnych architektur J2EE wielokrotnego u¿ytku.
Dan Malks jest g³ównym in¿ynierem w Sun Java Center. Posiada 16-letnie
dowiadczenie i zajmuje siê technologiami obiektowymi oraz ich zastosowaniem
w projektach biznesowych i us³ugach sieciowych. Pisze artyku³y do czasopism
bran¿owych, jest tak¿e wspó³autorem ksi¹¿ek o Javie, wzorcach i technologii J2EE.
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
710271674.001.png 710271674.002.png 710271674.003.png
Spis treci
Przedmowa I ................................................................................................................................................11
Przedmowa II ..............................................................................................................................................13
Wstp...........................................................................................................................................................15
Cz I Wzorce i J2EE
21
Rozdział 1. Wprowadzenie.........................................................................................................................23
Czym jest J2EE? ........................................................................................................... 24
Czym s wzorce? .......................................................................................................... 24
Odniesienie historyczne ........................................................................................... 24
Definiowanie wzorca ................................................................................................ 25
Kategoryzacja wzorców............................................................................................. 26
Katalog wzorców J2EE................................................................................................... 27
Cigła ewolucja ....................................................................................................... 27
Jak korzysta' z katalogu wzorców?............................................................................ 28
Zalety stosowania wzorców....................................................................................... 29
Wzorce, szkielety i ponowne u.ycie elementów................................................................ 31
Podsumowanie ............................................................................................................. 31
Rozdział 2. Projektowanie warstwy prezentacji i złe praktyki............................................................33
Zagadnienia projektowe warstwy prezentacji.................................................................... 33
Zarzdzanie sesj.................................................................................................... 33
Kontrola dost2pu klienta .......................................................................................... 36
Walidacja................................................................................................................ 40
Wła4ciwo4ci klas pomocniczych — integralno4' i spójno4' ......................................... 42
Złe praktyki zwizane z warstw prezentacji .................................................................... 44
Kod sterujcy w wielu widokach ................................................................................ 45
Udost2pnianie struktur danych warstwy prezentacji warstwie biznesowej...................... 45
Udost2pnianie struktur danych warstwy prezentacji obiektom domeny.......................... 46
Duplikacja wysyłanych formularzy.............................................................................. 46
Udost2pnianie poufnych zasobów w sposób bezpo4redni............................................ 47
Zało.enie, .e <jsp:setProperty> zresetuje wła4ciwo4ci komponentu JavaBean.............. 47
710271674.004.png
6 Spis tre ci
Tworzenie rozbudowanych kontrolerów....................................................................... 48
U.ycie skryptletów w widoku..................................................................................... 48
Rozdział 3. Projektowanie warstwy biznesowej i złe praktyki ............................................................53
Zagadnienia projektowe warstwy biznesowej ................................................................... 53
Korzystanie z komponentów sesyjnych ...................................................................... 53
Korzystanie z komponentów Entity ............................................................................ 56
Buforowanie referencji i uchwytów do zdalnych komponentów enterprise bean.............. 58
Złe praktyki zwizane z warstw biznesow i warstw integracji ........................................ 59
Mapowanie modelu obiektowego bezpo4rednio na model komponentów Entity ............. 59
Mapowanie modelu relacyjnego bezpo4rednio na model komponentów Entity ............... 60
Mapowanie ka.dego przypadku u.ycia na jeden komponent sesyjny............................. 60
Udost2pnianie wszystkich atrybutów komponentów
poprzez metody ustawiania i pobierania.................................................................. 61
Osadzanie wyszukiwania usług u klienta.................................................................... 61
Stosowanie komponentów Entity jako obiektów tylko do odczytu.................................. 62
Korzystanie z komponentów Entity jako drobnych obiektów ......................................... 63
Zapisywanie całego grafu powizanych komponentów Entity........................................ 64
Ujawnianie wyjtków zwizanych z EJB klientom spoza warstwy EJB............................. 64
Stosowanie metod Finder komponentów Entity
w celu zwrócenia wi2kszego zbioru wyników ............................................................ 65
Klient przechowuje dane z komponentów biznesowych................................................ 65
Korzystanie z komponentów EJB w długich transakcjach ............................................. 66
Bezstanowy komponent sesyjny odtwarza stan sesji dla ka.dego wywołania................. 66
Rozdział 4. Refaktoryzacja J2EE ..............................................................................................................69
Refaktoryzacja warstwy prezentacji................................................................................. 69
Wprowadzenie kontrolera ......................................................................................... 69
Wprowadzenie tokenu synchronizujcego................................................................... 71
Podział logiki na niezale.ne fragmenty....................................................................... 75
Ukrycie szczegółów warstwy prezentacji przed warstw biznesow ............................... 80
Usuni2cie konwersji z widoku.................................................................................... 84
Ukrywanie zasobów przed klientem ........................................................................... 87
Refaktoryzacja warstwy biznesowej i warstwy integracji .................................................... 90
Ukrycie komponentów Entity za komponentami sesyjnymi ........................................... 90
Wprowadzenie obiektów Business Delegate............................................................... 91
Łczenie komponentów sesyjnych............................................................................. 92
Redukcja komunikacji mi2dzy komponentami Entity.................................................... 94
Przeniesienie logiki biznesowej do warstwy komponentów sesyjnych............................ 95
Ogólne udoskonalanie projektu ...................................................................................... 96
Wydzielenie kodu dost2pu do danych ........................................................................ 96
Refaktoryzacja architektury z wykorzystaniem warstw.................................................. 98
Stosowanie puli połczeC....................................................................................... 100
Cz II Katalog wzorców J2EE 103
Czym jest wzorzec?..................................................................................................... 106
Identyfikacja wzorca............................................................................................... 106
Wzorce a strategie................................................................................................. 107
Podej4cie warstwowe .................................................................................................. 107
Wzorce J2EE............................................................................................................... 109
Wzorce warstwy prezentacji .................................................................................... 109
Spis tre ci 7
Wzorce warstwy biznesowej .................................................................................... 109
Wzorce warstwy integracji....................................................................................... 110
Wprowadzenie do katalogu .......................................................................................... 110
Terminologia ......................................................................................................... 111
Stosowanie j2zyka UML.......................................................................................... 113
Szablon wzorców ................................................................................................... 114
Zwizki mi2dzy wzorcami J2EE ..................................................................................... 114
Zwizki z innymi znanymi wzorcami............................................................................... 118
Mapa wzorców............................................................................................................ 118
Podsumowanie ........................................................................................................... 123
Rozdział 6. Wzorce warstwy prezentacji..............................................................................................125
Intercepting Filter........................................................................................................ 125
Problem................................................................................................................ 125
Siły....................................................................................................................... 126
Rozwizanie .......................................................................................................... 126
Konsekwencje....................................................................................................... 141
Powizane wzorce.................................................................................................. 143
Front Controller........................................................................................................... 143
Problem................................................................................................................ 143
Siły....................................................................................................................... 144
Rozwizanie .......................................................................................................... 144
Konsekwencje....................................................................................................... 154
Powizane wzorce.................................................................................................. 155
Context Object............................................................................................................ 155
Problem................................................................................................................ 155
Siły....................................................................................................................... 156
Rozwizanie .......................................................................................................... 156
Konsekwencje....................................................................................................... 173
Powizane wzorce.................................................................................................. 173
Application Controller.................................................................................................. 174
Problem................................................................................................................ 174
Siły....................................................................................................................... 174
Rozwizanie .......................................................................................................... 174
Konsekwencje....................................................................................................... 200
Powizane wzorce.................................................................................................. 201
View Helper................................................................................................................ 201
Problem................................................................................................................ 201
Siły....................................................................................................................... 202
Rozwizanie .......................................................................................................... 202
Konsekwencje....................................................................................................... 217
Powizane wzorce.................................................................................................. 220
Composite View.......................................................................................................... 220
Problem................................................................................................................ 220
Siły....................................................................................................................... 220
Rozwizanie .......................................................................................................... 221
Konsekwencje....................................................................................................... 228
Przykładowy kod .................................................................................................... 229
Powizane wzorce.................................................................................................. 231
Service to Worker........................................................................................................ 231
Problem................................................................................................................ 231
Siły....................................................................................................................... 232
8 Spis tre ci
Rozwizanie .......................................................................................................... 232
Konsekwencje....................................................................................................... 236
Przykładowy kod .................................................................................................... 236
Powizane wzorce.................................................................................................. 241
Dispatcher View.......................................................................................................... 241
Problem................................................................................................................ 241
Siły....................................................................................................................... 241
Rozwizanie .......................................................................................................... 242
Konsekwencje....................................................................................................... 246
Przykładowy kod .................................................................................................... 247
Powizane wzorce.................................................................................................. 251
Rozdział 7. Wzorce warstwy biznesowej .............................................................................................253
Business Delegate...................................................................................................... 253
Problem................................................................................................................ 253
Siły....................................................................................................................... 254
Rozwizanie .......................................................................................................... 254
Konsekwencje....................................................................................................... 258
Przykładowy kod .................................................................................................... 260
Powizane wzorce.................................................................................................. 263
Service Locator........................................................................................................... 263
Problem................................................................................................................ 263
Siły....................................................................................................................... 264
Rozwizanie .......................................................................................................... 264
Konsekwencje....................................................................................................... 272
Przykładowy kod .................................................................................................... 274
Powizane wzorce.................................................................................................. 283
Session Façade.......................................................................................................... 284
Problem................................................................................................................ 284
Siły....................................................................................................................... 284
Rozwizanie .......................................................................................................... 285
Konsekwencje....................................................................................................... 288
Przykładowy kod .................................................................................................... 289
Powizane wzorce.................................................................................................. 295
Application Service...................................................................................................... 296
Problem................................................................................................................ 296
Siły....................................................................................................................... 297
Rozwizanie .......................................................................................................... 297
Konsekwencje....................................................................................................... 304
Przykładowy kod .................................................................................................... 305
Powizane wzorce.................................................................................................. 310
Business Object ......................................................................................................... 310
Problem................................................................................................................ 310
Siły....................................................................................................................... 311
Rozwizanie .......................................................................................................... 312
Konsekwencje....................................................................................................... 321
Przykładowy kod .................................................................................................... 322
Powizane wzorce.................................................................................................. 324
Composite Entity......................................................................................................... 324
Problem................................................................................................................ 324
Siły....................................................................................................................... 326
Zgłoś jeśli naruszono regulamin