Sunday, September 11, 2011

It's time to dive in .. !! Head First !! If you haven't already

This post is a tribute to one of my favorite tech books (If not the favorite tech book of all time), Head First Design Patterns by Eric & Elisabeth Freeman.



Back in 2005, I was exposed to the unique world of Head First books through Head First EJB. Note that this was the time when EJB 2.1 reigned & any Java developer having even the slightest experience of it will know the pain of pre EJB 3.x era (which I won't go into any detail now). Anyway, the Head First approach made EJB 2.x look quite harmless). Their approach includes lots of pictures & characters in their books as well as unique conversational style of writing, which makes reading an enjoyable experience. Oh .. and please note that I am not getting any benefit from endorsing Head First books, I would gladly do it for free :)

HF Design patterns second book I bought, way back in 2006 (I have 12 head first books now!!!). Needless to say I was hooked! The authors explain patterns using outrageous examples,
  • Strategy pattern is explained by way of setting flying behavior of Ducks
  • A pizza store is used to explain Factory pattern & its variations
  • Ordering different types of coffee topped with various condiments in a coffee shop demonstrates Decorator pattern
  • The order flow in a Diner between the customer, waitress & the cook shows the Command pattern in action.
  • A Gumball machine (yes .. you heard it right) demonstrates State pattern.
  • A merger between a diner & a pancake house sets stage for Iterator & Composite patterns.
  • And so on .. (I don't won't to spoil all the fun)
The examples are simple & is in Java. So, C# developers may not have any problem there. In any case the code is very simple so any programming language background should suffice.

The Gang of Four (GoF)  design pattern book is widely considered as the bible for foundation design patterns.



However, for a beginner the concepts can be a bit hard to grasp (samples are in C++, which can be distracting if you are not familiar with it ). That's where HF Design Pattern book provides an excellent spring board to the more formal (but quite excellent GoF design patterns book)

So enough said already. If you want to learn design patterns & have fun at the same time, do yourself a favor & get HF Design Patterns. I guarantee that you won't regret it.