I have Head First Design Patterns from O'reilly. It's a great DP books, using lots of analogies to make the concepts understandable. It is definitely not your average programming book. The example code is in java but it's simple to translate to C# or anything else really.
Peter