J2EE_Wzorce_projektowe_Wydanie_2_j2eew2.pdf
(
836 KB
)
Pobierz
IDZ DO
PRZYK£ADOWY ROZDZIA£
SPIS TRE CI
KATALOG KSI¥¯EK
KATALOG ONLINE
ZAMÓW DRUKOWANY KATALOG
J2EE. Wzorce
projektowe. Wydanie 2
Autor: Deepak Alur, John Crupi, Dan Malks
T³umaczenie: Rafa³ Joñca
ISBN: 83-7361-344-7
Tytu³ orygina³u:
Core J2EE Patterns.
Best Practices and Design Strategies, 2nd Edition
Format: B5, stron: 518
TWÓJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMÓW INFORMACJE
O NOWO CIACH
ZAMÓW CENNIK
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 do wiadczeniem. 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 do wiadczenie 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
do wiadczenie 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.
CZYTELNIA
FRAGMENTY KSI¥¯EK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treści
Przedmowa I ................................................................................................................................................11
Przedmowa II ..............................................................................................................................................13
Wstęp...........................................................................................................................................................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
Ciągł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
Zarządzanie sesją.................................................................................................... 33
Kontrola dostępu klienta .......................................................................................... 36
Walidacja ................................................................................................................ 40
Właściwości klas pomocniczych — integralność i spójność ......................................... 42
Złe praktyki związane z warstwą prezentacji .................................................................... 44
Kod sterujący w wielu widokach ................................................................................ 45
Udostępnianie struktur danych warstwy prezentacji warstwie biznesowej...................... 45
Udostępnianie struktur danych warstwy prezentacji obiektom domeny.......................... 46
Duplikacja wysyłanych formularzy .............................................................................. 46
Udostępnianie poufnych zasobów w sposób bezpośredni ............................................ 47
Założenie, że <jsp:setProperty> zresetuje właściwości komponentu JavaBean .............. 47
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 związane z warstwą biznesową i warstwą integracji ........................................ 59
Mapowanie modelu obiektowego bezpośrednio na model komponentów Entity ............. 59
Mapowanie modelu relacyjnego bezpośrednio na model komponentów Entity ............... 60
Mapowanie każdego przypadku użycia na jeden komponent sesyjny............................. 60
Udostępnianie 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 powiązanych komponentów Entity ........................................ 64
Ujawnianie wyjątków związanych z EJB klientom spoza warstwy EJB ............................. 64
Stosowanie metod Finder komponentów Entity
w celu zwrócenia większego 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 synchronizującego................................................................... 71
Podział logiki na niezależne fragmenty ....................................................................... 75
Ukrycie szczegółów warstwy prezentacji przed warstwą biznesową ............................... 80
Usunięcie 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 między komponentami Entity .................................................... 94
Przeniesienie logiki biznesowej do warstwy komponentów sesyjnych ............................ 95
Ogólne udoskonalanie projektu ...................................................................................... 96
Wydzielenie kodu dostępu do danych ........................................................................ 96
Refaktoryzacja architektury z wykorzystaniem warstw.................................................. 98
Stosowanie puli połączeń ....................................................................................... 100
Część II Katalog wzorców J2EE
103
Czym jest wzorzec? ..................................................................................................... 106
Identyfikacja wzorca ............................................................................................... 106
Wzorce a strategie ................................................................................................. 107
Podejście 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 języka UML.......................................................................................... 113
Szablon wzorców ................................................................................................... 114
Związki między wzorcami J2EE ..................................................................................... 114
Związki 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
Rozwiązanie .......................................................................................................... 126
Konsekwencje ....................................................................................................... 141
Powiązane wzorce.................................................................................................. 143
Front Controller........................................................................................................... 143
Problem ................................................................................................................ 143
Siły....................................................................................................................... 144
Rozwiązanie .......................................................................................................... 144
Konsekwencje ....................................................................................................... 154
Powiązane wzorce.................................................................................................. 155
Context Object............................................................................................................ 155
Problem ................................................................................................................ 155
Siły....................................................................................................................... 156
Rozwiązanie .......................................................................................................... 156
Konsekwencje ....................................................................................................... 173
Powiązane wzorce.................................................................................................. 173
Application Controller .................................................................................................. 174
Problem ................................................................................................................ 174
Siły....................................................................................................................... 174
Rozwiązanie .......................................................................................................... 174
Konsekwencje ....................................................................................................... 200
Powiązane wzorce.................................................................................................. 201
View Helper ................................................................................................................ 201
Problem ................................................................................................................ 201
Siły....................................................................................................................... 202
Rozwiązanie .......................................................................................................... 202
Konsekwencje ....................................................................................................... 217
Powiązane wzorce.................................................................................................. 220
Composite View.......................................................................................................... 220
Problem ................................................................................................................ 220
Siły....................................................................................................................... 220
Rozwiązanie .......................................................................................................... 221
Konsekwencje ....................................................................................................... 228
Przykładowy kod .................................................................................................... 229
Powiązane wzorce.................................................................................................. 231
Service to Worker........................................................................................................ 231
Problem ................................................................................................................ 231
Siły....................................................................................................................... 232
8
Spis treści
Rozwiązanie .......................................................................................................... 232
Konsekwencje ....................................................................................................... 236
Przykładowy kod .................................................................................................... 236
Powiązane wzorce.................................................................................................. 241
Dispatcher View.......................................................................................................... 241
Problem ................................................................................................................ 241
Siły....................................................................................................................... 241
Rozwiązanie .......................................................................................................... 242
Konsekwencje ....................................................................................................... 246
Przykładowy kod .................................................................................................... 247
Powiązane wzorce.................................................................................................. 251
Rozdział 7. Wzorce warstwy biznesowej .............................................................................................253
Business Delegate...................................................................................................... 253
Problem ................................................................................................................ 253
Siły....................................................................................................................... 254
Rozwiązanie .......................................................................................................... 254
Konsekwencje ....................................................................................................... 258
Przykładowy kod .................................................................................................... 260
Powiązane wzorce.................................................................................................. 263
Service Locator........................................................................................................... 263
Problem ................................................................................................................ 263
Siły....................................................................................................................... 264
Rozwiązanie .......................................................................................................... 264
Konsekwencje ....................................................................................................... 272
Przykładowy kod .................................................................................................... 274
Powiązane wzorce.................................................................................................. 283
Session Façade .......................................................................................................... 284
Problem ................................................................................................................ 284
Siły....................................................................................................................... 284
Rozwiązanie .......................................................................................................... 285
Konsekwencje ....................................................................................................... 288
Przykładowy kod .................................................................................................... 289
Powiązane wzorce.................................................................................................. 295
Application Service...................................................................................................... 296
Problem ................................................................................................................ 296
Siły....................................................................................................................... 297
Rozwiązanie .......................................................................................................... 297
Konsekwencje ....................................................................................................... 304
Przykładowy kod .................................................................................................... 305
Powiązane wzorce.................................................................................................. 310
Business Object ......................................................................................................... 310
Problem ................................................................................................................ 310
Siły....................................................................................................................... 311
Rozwiązanie .......................................................................................................... 312
Konsekwencje ....................................................................................................... 321
Przykładowy kod .................................................................................................... 322
Powiązane wzorce.................................................................................................. 324
Composite Entity......................................................................................................... 324
Problem ................................................................................................................ 324
Siły....................................................................................................................... 326
Plik z chomika:
P.Kuba-47
Inne pliki z tego folderu:
Certyfikowany_tester_ISTQB_Poziom_podstawowy_ctispp.pdf
(5469 KB)
Architektura_ewolucyjna_Projektowanie_oprogramowania_i_wsparcie_zmian_archew.pdf
(807 KB)
Ajax_Wzorce_projektowe_ajaxwp.pdf
(600 KB)
DDD_dla_architektow_oprogramowania_dddaro.pdf
(3323 KB)
Architektura_systemow_zarzadzania_przedsiebiorstwem_Wzorce_projektowe_szabko.pdf
(816 KB)
Inne foldery tego chomika:
Administracja
Afryka
After Effects
Agile - Programowanie
AJAX
Zgłoś jeśli
naruszono regulamin