My thoughts on “Head First Design Patterns”

Cover page of Head First Design Patterns

Many software projects fail because of their programmers having the "just produce the code" mentality. Indeed, the motivation of design patterns is to give programmers a suite of techniques to isolate areas of changes, so that changes become less painful when a bug occurs or when customers demand more functionality out of the software. Personally, before picking up this book, I had learnt design patterns through goggling and piecing up different fragments of knowledge. However, I feel that I need more assurance in order to pioneer the development of a software project.

Why "Head First Design Patterns"?

The authors of "Head First Design Patterns" understood that design patterns are best understood through rich metaphors. Using ducks, meals, and many familiar elements in life, the beauty of design patterns became apparent. Furthermore, the geeky "Courier New" code fragments are made more personal through the inclusion of scribblings to sections that may appear difficult to understand. The book is so engaging to me that one chapter is not enough to satisfy my thirst in a single seating. For instance, after finishing the first chapter titled "Welcome to Design Patterns", my mind started to form the main components for the new software and I couldn't wait to go further to . This book is a must for people who wants to write and understand poetry code.

Any prerequisites?

Knowing the syntax of Java programming language is a necessity to the understanding of the design patterns in the book. Some exposure to the Java standard library (for eg. the IO library, Threading, Swing and etc) will certainly complement the learning process.


About Clivant

Clivant a.k.a Chai Heng enjoys composing software and building systems to serve people. He owns and hopes that whatever he had written and built so far had benefited people.