JavaSvet - otvorena java zajednica

 
glavna stranica arr2javasvet  english version arr2java.net

Prikaz knjige: Head First Design Patterns

Igor Spasić
17 Jun 2008

autori: Eric Freeman, Elisabeth Freeman, Kathy Sierra, Bert Bates
izdanje: First Edition, Oktobar 2004
izdavač: O'Reilly

Ovu knjigu možda nema potrebe posebno predstavljati: reč je o jednom od najpoznatijih izdanja 'Head First' serije knjiga koje izdaje O'Reilly. Knjiga se bavi nekim od najpoznatijih patterna (programskih obrazaca) i predstavlja udžbenik iz koga se oni mogu naučiti. Kao što i sami autori kažu, knjiga ne predstavlja referentni priručnik za paterne, već je upravo namenjena onima koji žele da ih nauče (ili se bar podsete;).

Prvo par reči o 'Head First' seriji knjiga. Reč je o zaista drugačijoj strukturi knjige, koja donosi bogat format dizajniran prema najnovijim saznanjima iz neurobiologije, kognitivnih nauka i nauka o učenju. Svaki patern je prikazan kao priča koja se razvija, stranice su prepune vizuelnih informacija, slika, podestnika; svaka informacija koju treba naučiti se ponavlja više puta na različite načine. Otuda ovakve knjige imaju veliki broj stranica, koji ne treba da plaši, pošto nisu pune suvoparnog teksta, ali isto tako nikako ne treba uzeti za neozbiljno ilustracije i okolni vizeulni sadržaj. Naprotiv, svemu u knjizi treba pristupiti ozbiljno.

Design Patterns, dakle, uvodi čitaoca u svet paterna na zabavan način. Svaki patern je prikazan kao priča, programski problem, koji čitaoc rešava čitajući knjigu. Početni problem je jednostavan, da bi se posle par iteracija usložnio na način koji se može korektno rešiti primenom nekog paterna. Sve pohvale autorima na izboru primera, pošto ih nije lako formirati kada je reč o paternima. Na kraju svakog poglavlja se daje sažetak sa pregledom naučenog paterna.

Ono šta još izdvaja ovu knjigu je i značajana pažnja posvećena univerzalnim programerskim OO principima, koje paterni u stvari i primenjuju. To se čini posebno važnim: da čitaoc razume zbog čega neki patern postoji, koje je principe implementira. Razumevanje ovih univerzalnih principa i njihova primena može učiniti kvalitetniji svakodnevni razvoj softvera, čak i bez poznavanja svih paterna napamet.

Knjiga zaista predstavlja zanimljiivo štivo, čak i ako poznajete pobrojane paterne. Još jednom, nije u pitanju referentni priručnik, već knjiga iz koje se uči na zanimljiv i, što je najvažnije, efikasan način. Odlično!