Idź do
Rusz g³ow¹!
Autorzy: Elisabeth Freeman, Eric Freeman,
T³umaczenie: Adam Balcerzak, Marcin Jêdrysiak,
Tomasz Wasilewski
ISBN: 978-83-246-2803-2
Tytu³ orygina³u:
Head First Design Patterns
Format: 200
×
230, stron: 656
• Spis treści
Katalog książek
katalog
Otwórz swój umys³. Poznaj wszystko, co zwi¹zane z wzorcami projektowymi, w sposób
gwarantuj¹cy szybkie i skuteczne opanowanie zasad ich stosowania. Zapomnij o listingach
licz¹cych tysi¹ce wierszy, d³ugich i nu¿¹cych opisach teoretycznych oraz rozbudowanych
schematach zale¿noœci. Wzorce projektowe to gotowe opisy rozwi¹zañ najczêstszych
problemów napotykanych przy tworzeniu oprogramowania. Aby je prawid³owo stosowaæ,
nale¿y poznaæ za³o¿enia, na podstawie których zosta³y stworzone, oraz nauczyæ siê
implementowaæ je we w³aœciwy sposób.
Naprzód, g³owo!
Nikt ci tego nie potrafi³ wyt³umaczyæ? Wydaje Ci siê, ¿e to problem nie na Twoj¹ g³owê?
Nie potrzebujesz elektrowstrz¹sów, ¿eby pobudziæ swój mózg do aktywnego dzia³ania.
Tylko ¿adnych gwa³townych gestów! Usi¹dŸ wygodnie, otwórz ksi¹¿kê, dopiero teraz
siê zacznie. Na pocz¹tek – rusz g³ow¹!
Precz z nudnymi wyk³adami i zakuwaniem bez zrozumienia!
Nauka to znacznie wiêcej ni¿ tylko czytanie suchego tekstu. Twój mózg jest niczym
g³odny rekin, ca³y czas pr¹cy naprzód w poszukiwaniu nowej, apetycznej przek¹ski.
Jak karmimy Twój wyg³odnia³y umys³?
U¿ywamy rysunków, bo obraz wart jest 1024 s³ów. Stosujemy powtórzenia, by zakodowaæ
na sta³e dane w Twojej ch³onnej g³owie. Oddzia³ujemy na emocje, jesteœmy nieprzewidywalni,
zaskakuj¹cy i zabawni. Stawiamy przed Tob¹ wyzwania i zadajemy pytania, które
anga¿uj¹ Ciê w proces studiowania przedstawianych zagadnieñ. Ca³y czas pobudzamy
Twój umys³ do aktywnego dzia³ania, zmuszamy go do pos³uszeñstwa… a za ciê¿k¹
pracê nagrodzimy go smakowitym ciasteczkiem w postaci wiedzy – wisienka gratis!
Rozkmiñ to sam!
Cele stosowania wzorców projektowych
Za³o¿enia, na których opieraj¹ siê wzorce projektowe
Najwa¿niejsze i najczêœciej wykorzystywane wzorce projektowe
Przechowywanie i prezentacja danych
Mechanizm RMI
Wzorzec MVC
Implementacja wzorców projektowych w aplikacjach
Przekonaj siê, ¿e nowoczesne metody nauczania mog¹ zmieniæ równie¿ sposób
poznawania nowoczesnych technik programistycznych
Twój koszyk
Cennik i informacje
o nowościach
Czytelnia
• Fragmenty książek
online
Kontakt
Helion SA
ul. Kościuszki 1c
44-100 Gliwice
tel. 32 230 98 63
© Helion 1991–2010
Spis treści (skrócony)
Wprowadzenie
21
1. Witamy w krainie wzorców projektowych:
wprowadzenie
33
2. Jak sprawić, by Twoje obiekty
były zawsze dobrze poinformowane:
Wzorzec Obserwator
67
3. Dekorowanie zachowania obiektów:
Wzorzec Dekorator
109
4. Pizzeria zorientowana obiektowo:
Wzorzec Fabryka
139
5. Obiekty jedyne w swoim rodzaju:
Wzorzec Singleton
197
6. Hermetyzacja wywołań:
Wzorzec Polecenie
217
7. Zdolność do adaptacji:
Wzorce Adapter oraz Fasada
259
8. Hermetyzacja algorytmów:
Wzorzec Metoda Szablonowa
297
9. Zarządzanie kolekcjami:
Wzorce Iterator i Kompozyt
335
10. Stan obiektu:
Wzorzec Stan
403
11. Kontrola dostępu do obiektu:
Wzorzec Proxy
447
12. Łączenie wzorców:
Wzorce złożone
517
13. Wzorce projektowe w praktyce:
Nowe życie z wzorcami
595
14. Dodatek:
inne wzorce
629
Skorowidz
649
Spis treści (na serio)
Wprowadzenie
Twój mózg jest skoncentrowany na wzorcach projektowych.
W tym rozdziale
Ty
starasz się czegoś dowiedzieć, a Twój
mózg
robi Ci przysługę i nie przykłada się
do
zapamiętywania
zdobywanej wiedzy. Twój mózg myśli sobie: „Lepiej zostawię miejsce w pamięci
na bardziej istotne informacje, na przykład: jakich dzikich zwierząt należy unikać bądź czy jeżdżenie nago
na snowboardzie jest dobrym pomysłem”. A zatem, w jaki sposób możesz przekonać swój mózg, że Twoje
życie zależy od poznania wzorców projektowych?
Dla kogo przeznaczona jest ta książka?
22
Wiemy także, co sobie myśli Twój mózg
23
Metapoznanie
25
Zmuś swój mózg do posłuszeństwa
27
Zespół recenzentów technicznych
30
Podziękowania
31
6
Wprowadzenie do wzorców projektowych
1
Witamy w krainie wzorców projektowych
Ktoś rozwiązał już Twoje problemy.
W tym rozdziale dowiesz się, dlaczego (i w jaki
sposób) możesz wykorzystać wiedzę i doświadczenia zdobyte przez innych projektantów i programistów,
którzy podczas pracy nad różnymi projektami zmuszeni byli wstąpić na pełną zdradliwych pułapek ścieżkę
i — co najważniejsze — udało im się przeżyć taką wyprawę. Zanim dobrniemy do końca rozdziału, rzucimy
okiem na sposoby wykorzystywania wzorców projektowych i przedstawimy ich zalety, poznamy kilka
podstawowych zasad projektowania zorientowanego obiektowo, a także omówimy sposób działania
przykładowego wzorca. Najlepszą metodą zastosowania wzorca jest
załadowanie go bezpośrednio
do Twojego mózgu
, a następnie
zlokalizowanie
obszarów w obrębie projektowanych rozwiązań oraz
istniejących aplikacji, w których możesz je
zastosować
. Pracując z wzorcami projektowymi, zamiast
wielokrotnego wykorzystywania tych samych fragmentów kodu, wielokrotnie wykorzystujesz swoje
doświadczenia
.
Prosta aplikacja o nazwie SymulatorKaczki
34
Jacek rozmyśla o dziedziczeniu…
37
Pamiętaj,
opanowanie takich
zagadnień, jak
abstrakcyjność, dziedziczenie
i polimorfizm, nie zrobi jeszcze
z Ciebie dobrego projektanta
systemów zorientowanych
obiektowo. Prawdziwy guru zawsze
myśli o stworzeniu elastycznego
projektu, który będzie łatwy
do serwisowania i będzie
sobie w stanie poradzić ze
zmieniającymi się
warunkami.
A może by tak interfejs?
38
Jedyny pewny element w procesie tworzenia oprogramowania
40
Oddzielanie tego, co się zmienia, od tego, co pozostaje niezmienione
42
Projektowanie zachowania Kaczki
43
Testowanie kodu klasy Kaczka
50
Dynamiczne ustawianie zachowania
52
Wielki diagram „ukrytych” zachowań
54
Relacja MA może być lepsza niż JEST
55
Rozmawiając o wzorcach projektowania
56
Potęga wspólnego słownika wzorców
60
W jaki sposób mogę wykorzystywać wzorce projektowe?
61
Twoja skrzynka narzędziowa
64
Rozwiązania ćwiczeń
66
Object
that holds
state
OBSERWATOR
8
int
8
8
8
8
Observers
Automatic update/notication
7
Wzorzec Obserwator
2
Jak sprawić, by Twoje obiekty były
zawsze dobrze poinformowane
Nie przegap okazji, kiedy dzieje się coś naprawdę ciekawego!
Przedstawimy Ci wzorzec, który potrafi poinformować inne obiekty o tym, że wydarzyło się coś, czym
powinny się zająć. Co ciekawe, obiekty mogą nawet samodzielnie decydować w czasie działania programu
o tym, czy chcą być informowane o takich wydarzeniach. Wzorzec Obserwator jest jednym z najczęściej
wykorzystywanych wzorców w pakiecie JDK (ang.
Java Development Kit
), a co najważniejsze — jest wręcz
niewiarygodnie użyteczny. W niniejszym rozdziale rzucimy również okiem na relacje typu jeden-do-wielu
oraz tzw. luźne związki (tak, to prawda, napisaliśmy „luźne związki”). Korzystając z wzorca Obserwator,
z pewnością odmienisz swoje życie.
Aplikacja sprawdzająca warunki pogodowe
69
Spotkanie z wzorcem Obserwator
74
Wydawca + Prenumerator = wzorzec Obserwator
75
Pięciominutowe przedstawienie — obserwowany kontra obserwujący
78
Denicja wzorca Obserwator
81
Siła luźnych zależności
83
Projektowanie stacji meteorologicznej
86
Implementacja stacji meteorologicznej
87
Java — zastosowanie wbudowanego wzorca Obserwator
94
Ciemna strona klasy java.util.Observable
101
Twoja skrzynka narzędziowa
104
Rozwiązania ćwiczeń
107
RELACJA JEDEN-DO-WIELU
Obiekt, którego stan
jest obserwowany
8
8
8
8
8
int
K
K
Automatyczna aktualizacja
(powiadamianie)
Obiekty obserwujące
(Observers)
8