Saturday, January 8, 2011

Head First Design Patterns

For any professional programmer,  knowledge of Design Patterns is necessary not only designing efficient solutions to problems, but also to add to his vocabulary while interacting with other technical architects as these terminology have found widespread usage in design discussions.

Head First Design Patterns is clearly not the book that a design pattern veteran would pick up, nor will it ever be the go-to book when you want your hands on a reference book on the subject. And the book clearly mentions that it is not written with this intent. Rather, this book is for somebody who wants to get an idea of what these design patterns are -- not just their definitions, but more practical explanations such that people do not forget these definitions once they close the book. And I should  say that this book meets this goal.

The book covers 13 design patterns in detail and each and every one of them is explained based on a (though sometimes overly synthetic) problem with accompanying Java code. Patterns are introduced gradually in each chapter within the context of solving a specific problem, rather than traditional approach of defining them first and then following it up with an example. I think this is a pretty good approach. The one let down is that though there are exercises at the end of the chapters,  for most part, I feel that they are a little trivial and could have been made a little more challenging.

At the end of the day, this is a book which I would whole heartedly recommend for anybody just learning design patterns or somebody who is staring at a problem and wants to quickly check if any of the design patterns would fit the bill.

No comments: