I think the presentation last night went pretty well, and I get some great feedback from the attendees, so that’s always good. 🙂
We’ve covered a LOT of ground:
Refactoring, separation of concerns, test-driven development, Command design pattern, Action delegate, multi-threading, lambda expressions, fluent interfaces, object mappers, extension methods… Of couse, everything in small doses, just trying to raise awareness about those things.
It all started with a simple WinForm app, going through the cycle of adding code to Click events on buttons, and then refactoring things out of the UI, extending it to support keyboard binding, designing a shortcut controller in a test-first style, doing more refactoring and using the Action delegate and refactoring the code to the Command pattern, then improving things a bit so to support asynchronous commands… then I’ve quickly covered object mappers and lambda expressions, and finally how to improve test code using extension methods and fluent interfaces.
The source code can be downloaded here.
Some people asked me how they can learn more about this stuff, and where to go find resources about it. Here are a few links to some of my previous blog entries that may help:
Good Resources on Test-Driven Development (TDD)