Head First Design Patterns, by Eric Freeman et al, was a nice change of pace from most technical books. The basic idea behind “Head First” books is to use lots of pages with pictures and diagrams and crazy fonts and humor and exercises to get the information to actually stick in your brain. This particular book takes that approach with the most important design patterns from the Gang of Four book.
This book was, at the very least, a good review of those patterns; I think it succeeded in helping me remember their names and uses. Specifically, the design patterns described are Strategy, Observer, Decorator, Factory Method, Abstract Factory, Singleton, Command, Adapter, Façade, Template Method, Iterator, Composite, State, Proxy, and Compound. The remaining Gang of Four patterns are each given two pages in the appendix. The many examples throughout the book are all in Java, but a C# developer should be able to follow along easily.
Despite my typographical issues with the book, I highly recommend it to anyone that wants to learn some of the fundamental design patterns in software development.