I come from a very heavy Java background. I’ve worked with Java for almost 10 years now, and I’ve worked with very large Java code bases in my previous jobs. Needless to say, I was a huge design pattern nut.
For those of you who are not familiar, a design pattern is a generalized solution for a recurring problem within software engineering, mostly in the domain of source code organization and interactions. The Gang of Four book is considered to be the bible of design patterns for Object Oriented Design, and it quickly became my obsession. Whenever I encountered an architectural problem I couldn’t quite figure out how to solve (or even if I did figure out a solution, but wondered if there was a better one), that was the book I would turn to.