Drogi Czytelniku! Poniżej zamieszczona jest errata do książki:
"Head First Design Patterns. Edycja polska (Rusz głową!)"
Jest to lista błędów znalezionych po opublikowaniu książki, zgłoszonych i zaakceptowanych przez naszą redakcję. Pragniemy, aby nasze publikacje były wiarygodne i spełniały Twoje oczekiwania. Zapoznaj się z poniższą listą. Jeśli masz dodatkowe zastrzeżenia, możesz je zgłosić pod adresem: helion.pl/user/erraty
Strona | Linia | Jest | Powinno | Zgłaszający |
---|---|---|---|---|
25 | 18 | nieustającą wojną | nieustającą wojnę | Jakub Flisiński |
35 | 8 | A poza tym" | "A poza tym" | Jakub Flisiński |
37 | Zaostrz ołówek - punkt B | rudno zmienić | Trudno zmienić | Jakub Flisiński |
41 | Reguła projektowania | Zidentyfikuje fragmenty | Zidentyfikuj fragmenty | Jakub Flisiński |
44 | 1 od dołu, przykładowy kod | zwierzak.dajGlos(); | a.dajGlos(); | Marcin Sochacki |
45 | diagram interfejsów i klas (opis klasy Piszcz) | Sposób kwakania kaczek, które naprawdę potrafią kwakać. | Sposób kwakania gumowych kaczek, które tak naprawdę tylko piszczą. | Jacek Uznański |
45 | Diagram Piszcz | kwacz() | kwacz() { | Jakub Flisiński |
46 | 3 odpowiedź - 3 linia od końca | atrybuty latania, takie jak | atrybuty latania (takie jak | Jakub Flisiński |
47 | pkt. 2 | "Teraz zajmiemy się implementacją zmiennej wykonajKwakanie():" | "Teraz zajmiemy się implementacją metody wykonajKwacz():" | Jacek Uznański |
47 | przykładowy kod | public void wykonajKwakanie(); | public void wykonajKwacz(); | Jacek Uznański |
81 | drugi większy opis | zostają o tym powiadomione | zostają o tym powiadomione. | Jakub Flisiński |
86 | strzałka z WarunkiBieżące do DanePogodowe | Obiekt obserwujący | Obiekt obserwowany | Jakub Flisiński |
88 | podpis z boku strony | implementacji interfejsu Subject | implementacji interfejsu Podmiot | Jakub Flisiński |
90 | 3 | Nasz aplikacja | Nasza aplikacja | Jakub Flisiński |
90 | listing StacjaMeteo 3-4 | DanePogodowe danePogodowe = new danePogodowe();
WarunkiBieżąceWyświetl warunki BieżąceWyświetl = |
DanePogodowe danePogodowe = new DanePogodowe();
WarunkiBieżąceWyświetl warunkiBieżąceWyświetl = |
Konrad Kowalski |
90 | listing StacjaMeteo 3-4 | DanePogodowe danePogodowe = new danePogodowe();
WarunkiBieżąceWyświetl warunki BieżąceWyświetl = |
DanePogodowe danePogodowe = new DanePogodowe();
WarunkiBieżąceWyświetl warunkiBieżąceWyświetl = |
Konrad Kowalski |
91 | Rysunek na dole strony - kilka wystąpień | Obliczony indek | Obliczony indeks | Jakub Flisiński |
109 | 12 | tylko n a mnie | tylko na mnie | Jakub Flisiński |
117 | drugie pytanie, linia 3 | wzorca Observer | wzorca Obserwator | Jakub Flisiński |
119 | rysunek na dole | Mocha | Czekolada | Jakub Flisiński |
123 | 15 | one w miejsce | one w miejscu | Jakub Flisiński |
123 | 18 | Krótki mówiąc | Krótko mówiąc | Jakub Flisiński |
126 | drugi podpis od dołu, 3 linia | "Specjalność firmy - Star Cafe Special" | Kawa Star Cafe Special | Jakub Flisiński |
127 | metoda wyliczająca koszt | return 0,20 + napój.koszt(); | return napój.koszt() + 0,20; | Jakub Flisiński |
137 | 6 linia kodu | public pobierzWielkość() | public int pobierzWielkość() | Jakub Flisiński |
149 | 2,3 oraz 5,6 kodu fragmentu programu | Pizzeria włoskaFabryka = new Pizzeria(włoskaFabryka);
włoskaFabryka.zamówPizza("wegetariańska"); Pizzeria amerykańskaFabryka = new Pizzeria(włoskaFabryka); amerykańskaFabryka.zamówPizza("wegetariańska"); |
Pizzeria włoskaPizzeria = new Pizzeria(włoskaFabryka);
włoskaPizzeria.zamówPizza("wegetariańska"); Pizzeria amerykańskaPizzeria = new Pizzeria(amerykańskaFabryka); amerykańskaPizzeria.zamówPizza("wegetariańska"); |
jw - nie |
161 | ostatni diagram na dole, opis po prawej | To są produkty rzeczywiste - wszystkie gatunki pizzy produkowane przez poszczególne oddziały lokalne. | Fabryki tworzą produkty. Dla Pizzeria produktem jest Pizza. | Jakub Flisiński |
161 | ostatni diagram na stronie | Zarówno dla klas rzeczywistych jak i klasy abstrakcyjnej Pizza widnieje ten sam opis "To są produkty rzeczywiste - wszystkie gatunki pizzy produkowane przez poszczególne oddziały lokalne." | Klasa abstrakcyjna prawdopodobnie powinna mieć inny opis mówiący iż jest to klasa abstrakcyjna, z której dziedziczą wszystkie klasy produktów rzeczywistych. | Karol Lewandowski |
165 | pierwsza odpowiedź, linia 6 | implementacje poszczególnych wybranych, | implementacje poszczególnych produktów | Jakub Flisiński |
173 | 3 punkt wypunktowania | w dowolnej jej klas bazowych. | w dowolnej z jej klas bazowych. | Jakub Flisiński |
180 | konstruktor SerowaPizza | this. fabrykaSkładników | this.fabrykaSkładników | Jakub Flisiński |
181 | konstruktor OwoceMorzaPizza | this. fabrykaSkładników | this.fabrykaSkładników | Jakub Flisiński |
182 | 21 i 23 | else if (item.equals(vpepperoni"))
pizza = new PepperoniPizza(fabrykaSkładników); pizza.ustawNazwa(vWłoska Pizza Pepperoni"); |
else if (item.equals("pepperoni"))
pizza = new PepperoniPizza(fabrykaSkładników); pizza.ustawNazwa("Włoska Pizza Pepperoni"); |
Karol Lewandowski |
182 | w kodzie 6 linia od dołu | vWłoska Pizza | Włoska Pizza | Jakub Flisiński |
182 | w kodzie 7 linia od dołu | vpepperoni | pepperoni | Jakub Flisiński |
198 | Podpis na dole | maszyny wirtyalne | maszyny wirtualne | Jakub Flisiński |
201 | opis metody pobierzInstancję() | jako wyników | jako wyniku | Jakub Flisiński |
207 | 2 | ten fragment kodu | ten fragment kodu | Jakub Flisiński |
207 | okno programu | napełnij();
gotuj(); opróżnij(); |
kocioł.napełnij();
kocioł.gotuj(); kocioł.opróżnij(); |
Jakub Flisiński |
209 | 15 | metody pobierzInstancję(),warto | metody pobierzInstancję(), warto | Jakub Flisiński |
209 | 21 (pierwszy wiersz fragmentu kodu zrodlowego) | klas | class | Karol Lewandowski |
231 | 8 od dołu | DrzwiGarażowe otwórzDrzwiGarażowe | PolecenieOtwórzDrzwiGarażowe otwórzDrzwiGarażowe | Jakub Flisiński |
232 | 10 | Wzorzec Polecenie | Wzorzec Polecenie | Jakub Flisiński |
234 | 1 wypowiedź Sandry | Sądzę zatem, że moglibyśmy przypisywać polecenia do pilota w podobny sposób. | Sądzę zatem, że moglibyśmy przypisywać polecenia do pilota w następujący sposób:
polecenieWłącz[0] = polecenieWłącz polecenieWyłącz[0] = polecenieWyłącz polecenieWłącz[1] = polecenieWłącz polecenieWyłącz[1] = polecenieWyłącz polecenieWłącz[2] = polecenieWłącz polecenieWyłącz[2] = polecenieWyłącz polecenieWłącz[3] = polecenieWłącz polecenieWyłącz[3] = polecenieWyłącz polecenieWłącz[4] = polecenieWłącz polecenieWyłącz[4] = polecenieWyłącz polecenieWłącz[5] = polecenieWłącz polecenieWyłącz[5] = polecenieWyłącz polecenieWłącz[6] = polecenieWłącz polecenieWyłącz[6] = polecenieWyłącz |
- |
238 | 2 od dołu | WyłączWieżaStereo | wyłączWieżaStereo | Jakub Flisiński |
242 | 10 | wzorca Command | wzorca Polecenie | Jakub Flisiński |
246 | diagram na górze strony | średnieObroty() | średnieObroty() | Jakub Flisiński |
249 | ekran programu | [slot 0]
[slot 1] [slot 1] [slot 3] |
[slot 0]
[slot 1] [slot 2] [slot 3] |
Jakub Flisiński |
250 | diagram na górze | włączBąbelki() | włączBąbelki() | Jakub Flisiński |
252 | ekran programu | [slot 0] headfirst.polecenie.impreza.MakroPolecenie headfirst.polecenie.impreza.BrakPolecenia
|
[slot 0] headfirst.polecenie.impreza.MakroPolecenie headfirst.polecenie.impreza.MakroPolecenie
|
Jakub Flisiński |
255 | dolny rysunek | Jakub Flisiński | ||
257 | Rozwiązania ćwiczeń "Kto co robi" | Kreska od Kucharza wskazuje na metodę ustawPolecenie() | Kreska od Kucharza powinna wskazywać na Obiekt realizujący | Mirek S. |
258 | kod metody do uzupełnienia | for(int i = 0; i < polecenia.length; i++) { | for(int i = polecenia.length - 1; i >= 0; i--) { | Jakub Flisiński |
260 | 3 | pełen Oto przykład | pełen. Oto przykład | Jakub Flisiński |
260 | 9 | cały problem z nieco inaczej | cały problem nieco inaczej | Jakub Flisiński |
264 | 8 linia kodu od dołu | A IndykAdapter mówi tak | A IndykAdapter powiada tak | Jakub Flisiński |
266 | 3 pytanie, linia 5 | stary interfejsem | starym interfejsem | Jakub Flisiński |
267 | 10 | dzięki stworzenie adaptera | dzięki stworzeniu adptera | Jakub Flisiński |
279 | diagram OdtwarzaczDVD | amplifier | wzmacniacz | Jakub Flisiński |
302 | opis NapójZKofeiną po prawej stronie | nalewanieDoFiliżanki | nalewanieDoFiliżanki() | Jakub Flisiński |
309 | Zróbmy sobie herbatę... | pkt.4
zaparzaj(); |
pkt.4
zaparzanie(); |
Mirek S. |
315 | 9 i 16 | getUserInput() | pobierzOdpowiedź() | Jakub Flisiński |
323 | dymek kobiety | wzorcu Template Method. | wzorcu Metoda Szablonowa. | Jakub Flisiński |
325 | 12 i 15 | display(kaczki); | wyświetlaj(kaczki); | Jakub Flisiński |
330 | 10 | Ty i wzorzec Metoda Szablonowa | Ty i wzorzec Fabryka | Jakub Flisiński |
330 | 7 | Słyszałem, że ostatnio zadajesz się z kimś tak nudnym, jak wzorzec Metoda Szablonowa. | Myślałem, że utknę tu z kimś tak nudnym jak wzorzec Fabryka. | Jakub Flisiński |
330 | podpis chmurki | Metoda Szablonowa | Wzorzec Fabryka | Jakub Flisiński |
333 | Rozwiązania ćwiczeń - Zaostrz ołówek | recepturaParzenia()
gotowanieWody() nalewanieDoFiliżanki() zaparzanie() |
recepturaParzenia()
gotowanieWody() nalewanieDoFiliżanki() zaparzanie() domieszanieDodatków() |
Mirek S. |
341 | Rozważmy teraz ...... | getPozycjeMenu()
getNazwa() getCena() getOpis() |
pobierzPozycjeMenu()
pobierzNazwa() pobierzCena() pobierzOpis() |
Mirek S. |
342 | Co teraz? | getPozycjeMenu | pobierzPozycjeMenu | Mirek S. |
343 | Cz można .... ? | 2. Aby iterować pozycje przeznaczone na do jedzenia ... | 2. Aby iterować pozycje przeznaczone do jedzenia ... | Mirek S. |
351 | diagram klas (dokładniej 2 klasy na diagramie z lewej strony )
<br />Jest : "PozycjeMenu" i "PancakeHouseMenuIterator" <br /> |
"DinerMenu" i "PancakeHouseMenu" | ligoo | |
440 | Kto co robi | Strategia kreska wskazuje na opis "Klasy podrzędne...."
Metoda Szablonowa kreska wskazuje na opis "Hermetyzuje wymienne zachowania...." |
Strategia kreska powinna wskazywać opis "Hermetyzuje wymienne zachowania...."
Metoda Szablonowa kreska powinna wskazywać opis "Klasy podrzędne...." |
Mirek S. |
580 | Zaostrz ołówek | public void dalej(Kwacząca ptak)
ducks.dalej(ptak); |
public void dodaj(Kwacząca ptak)
ptaki.dodaj(ptak); |
Mirek S. |
Poniżej znajduje się lista błędów znalezionych przez czytelników, ale jeszcze nie potwierdzonych przez Redakcję:
Strona | Linia | Jest | Powinno | Zgłaszający |
---|---|---|---|---|
150 | 2 od dołu linia kodu | abstract utwórzPizza | abstract Pizza utwórzPizza | Jakub Flisiński |
249 | ekran programu | [slot 0]
headfirst.polecenie.undo.BrakPolecenia headfirst.polecenie.undo.BrakPolecenia [slot 1] headfirst.polecenie.undo.PolecenieWentylatorSufitowyŚrednio headfirst.polecenie.undo.PolecenieWyłączWentylatorSufitowy [slot 2] headfirst.polecenie.undo.PolecenieWentylatorSufitowySzybko headfirst.polecenie.undo.PolecenieWyłączWentylatorSufitowy |
[slot 0] headfirst.polecenie.undo.PolecenieWentylatorSufitowyŚrednio headfirst.polecenie.undo.PolecenieWyłączWentylatorSufitowy
[slot 1] headfirst.polecenie.undo.PolecenieWentylatorSufitowySzybko headfirst.polecenie.undo.PolecenieWyłączWentylatorSufitowy [slot 2] headfirst.polecenie.undo.BrakPolecenia headfirst.polecenie.undo.BrakPolecenia |
Jakub Flisiński |