I spent the mornig in the Microsoft Pavillion in the Expo hall. There are real live Microsoft architects and developers available to chat with. There were more Microsoft staff than delegates, so I took the opportunity to chat with James Newkirk who works for the Patterns group. He is also the author of NUnit, so I feel a debt to him for the joy that the 'green bar' has brought to my life. Steve Maine was wondering whether James is now a Microsoft employee, and I'm happy to say he's joined Microsoft to help bring Test-Driven and Agile ideas to the world of .NET developers (he didn't say that, but I'm joining the dots here). He's writing a new book Test Driven Development in Microsoft .NET that will be released next March, there was a sample chapter available in the Pavillion. Here are some of the points that came up:
- He's not a fan of Mock Objects because he thinks that in general they are too complicated and don't pay back the investment required to use them.
- The book goes through how to use test-driven development on n-tier applications. To test the database they decided on using ADO.NET DataSets.
- One pattern to use when doing test-driven development against the database is to use transactions. In the startup of each test a transaction is started, then in the the completion of the tests the transaction is rolled back. This saves polluting the database with test data and is quicker than waiting for the database to clean itself up.
- The patterns group are going to create new .NET sample applications that demonstrate the practices and good architecture. The Duwamish Books example was driven by the desire to demonstrate features rather than architecture. I'm looking forward to seeing what they come up with.
- We spoke about the work of Gregor Hohpe's new book Enterprise Integration Patterns : Designing, Building, and Deploying Messaging Solutions. Gregor has already contributed to the MS Patterns group on Enterprise Solution Patterns with Microsoft .NET. James said it's likely the Patterns group will pick up more of Gregor's work on in future.
- I pulled out my laptop and spoke about the brilliance of Reflector.