I just read a great article in MSDN Magazine (available online here) on the Open / Closed Principle from the Patterns in Practice column. I really enjoyed it. I'm going to have to spend some more time learning some more design patterns. I've spent some time learning Model-View-Presenter (MVP) and Inversion of Control (IoC) but haven't put either into practice yet. Who knows what the future holds though?