I'll be honest with you...I never did like design patterns. I never got on board with it and, instead, just coded away like I thought I was supposed to do. Now, I realize they're a bit of a necessary evil to learn, for the main reason just to be able to speak to other developers about how they did this or that. With that in mind, I thought it would be a good idea to actually start learning these things. To do that, I turn to a fairly popular book on the subject - Head First Design Patterns.