The Head First Design Patterns is the best design patterns book I have read.
 

My background is in ASP/VB/COM and have been developing with the .Net platform for about 5 going on 6 years years now. I have my own web and application development business in addition to working fulltime at US Bank. From 2000 to the end of 2005 I was doing development on the Intranet team, developing internal business applications. Since January of 2006 I have been part of a J2EE team doing development on a commercial banking application. I am still doing .Net development on the side while messing with some of the new dynamic languages such as Ruby and Groovy. There I am below at my desk at work.

Me @ Work

Anyway, in the middle of 2005, to better get my head around the design patterns I followed along with the book in implementing the exercises in C# with Visual Studio 2003, using NUnit as a test harness, instead of using output to the system console.

I had a good learning experience noting the differences between the iterator in Java verses the IEnumerator and IEnumerable implementations in C#. You will also note that my implementation of the MVC pattern is not very "compound" compared to what was laid out in the book. However, I did somewhat implement the strategy pattern in the controller.

Please go here to get the Visual Studio.Net solution, in its rawness, that contains the C# implementations I put together from the various chapters. You will need the open-source tool NUnit (1.1 .Net Framework) download to run the unit test for most of the projects.