Pedal to the metal implementing an MVP app
Mark sent me this link of a customer using CodeRush and Refactor! Pro to write an MVP (Model-View-Presenter) implementation of an e-mail viewer.
It's a long-ish screencast -- there's a lot of code and classes to cover -- but the presenter, Kim Major of Renaissance Computer Systems, really knows his CodeRush and Refactor! Pro well. Unfortunately the only audio is music (a hip version of a classical piece: Pachelbel's Canon and Gigue in D major) so there's no commentary, and, even though I knew and recognized the refactorings being used, I sometimes had to pause in order to recognize what just happened. In the end, you really got to see how the MVP pattern can help to structure and improve your design, especially when he switched from a hard-coded provider of emails to Outlook with a couple of code changes. Neat-o.
It's also a great example of how to use our IDE productivity tools to write code quickly and accurately. I must point out though that Kim is obviously working from a script. If you videoed me doing the same thing, I'd be more hesitant and slow as I worked out the design in my head as I typed on the keyboard. Nevertheless, it's a good screencast on how design patterns can improve your code (I was yelling at the screen "Make it an interface, dammit" when he did exactly that) and a screencast that neatly highlights our IDE tools.
Thanks to Kim and to Renaissance Computer Systems for the screencast.