Design Patterns have been around for quite sometime, but only recently we’ve seen people talking more about it. When people ask me about resources, this is what usually recommend:
- Head-First Design Patterns: http://www.amazon.com/Head-First-Design-Patterns/dp/0596007124/
- This is a must-read!! The way the authors present the topic is right up my alley, using lots of analogies to things people can relate to, and therefore, it becomes easier to concentrate on the core concepts. This is the kind of topic where understanding the concepts is way more important then understanding implementation details in specific languages. And this book, to me, is one of those that are really hard to put down, since it presents a very nice way to go through the material, where insighful information and humour are balanced out in a great way to keep the reader interested. The only one part that felt like dragging to me was where the authors went into too much detail about how to implement remoted proxies in Java (since I’m not a Java guy, that part was terrible); but other than that, outstanding book, as far as I am concerned.
- These folks have this free online patterns catalog. I’ve been using this for many years now as a reference material, for those moments when I can quite remember things about a specific pattern, so I just go there and use the catalog to refresh my mind. They also have a package that include a bunch of diagrams, source code, and other goodies, which seems to be really good; I’m actually planning to order it soon.
- The Gang of Four (or GoF) book: http://www.amazon.com/Design-Patterns-Object-Oriented-Addison-Wesley-Professional/dp/0201633612
- This book was published in 1996, but it’s still relevant today. It’s the book I go to when I need more details about specific patterns.
Of course there must be other good books and resources out there, but the ones I mentioned here are the ones I’ve been using over the couple of years and I keep going back to them, so I guess they just stuck in my mind. 🙂