I’ve been recently trying to get a deeper understanding of design patterns and have taken to reading two books in parallel.
I’m starting with Elizabeth Freeman’s Head First Design Patterns book.
This book is written in an odd style and some may hate it, but I’ve found the more informal, conversational style useful.
After I read about a pattern in this book, I read about the same pattern the the Russ Olsen Design Patterns in Ruby book. This gives me a slightly different view of the same pattern and also translates it to Ruby. The Ruby implementation is often very different from the traditional Java version of the pattern. I find this really useful as I’m not much of a Java programmer and sometimes find the Java examples a bit tedious.
I’ve found this approach of trying to assimilate two different views of the same subject very useful in trying to give self a deeper understanding of a new topic.