Archive for June, 2008

Material from last night’s presentation at the C# SIG

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)

Learning in spiral

The whole testing thing…

Test-Driven.NET: a great little tool

Leave a comment

Speaking at the Hal-PC C# SIG next week

Next week I’ll be speaking at the Hal-PC C# SIG in Houston. This is something that came up last minute. Markus was booked to present there but won’t be able to, so I was asked to fill in for him.

The session is going to be a "C# Tips and Tricks", where I’ll be covering a bunch of things. The abstract is:

Claudio will cover a number of tips and techniques he has used in recent project work, including the command design pattern, Lambda expressions, extension methods, fluent interfaces, refactoring, and more. His objective is to present a few tricks that attendees can apply immediately and to inspire them to learn more about the other, more extensive topics covered.

Hope to see some of you out there!  🙂

Leave a comment