I will be in Boston for TechEd in June to present a talk about design patterns and (IMO) how best to use them in your everyday development. In the past I have found design patterns talks less than inspiring. They tend to be just a presentation of a catalog. The approach that I take this time is to talk about specific code related problems and then show how applying a design pattern helps improve the code. I use refactoring once I have identified the problem and the pattern that I want to use to evolve the code. There are 2 great books that on this topic. The first is Refactoring to Patterns by Joshua Kerievsky and Working Effectively with Legacy Code by Michael Feathers.
The session is scheduled for Tuesday June 13 at 8:30 AM.