So Brad Wilson basically said on Twitter today that I was being too negative. Since that’s like Debbie Downer asking you to be a little more upbeat, I thought I’d balance that with some stuff that I do like:
- The new architectural guidance coming from Patterns and Practices. I raised one huge objection and they quickly changed it .
- The general direction of xUnit.Net in regards to the no SetUp/TearDown thing, and that’s not just a sop to Brad
- The new AAA syntax and mocking style in both Rhino Mocks and Moq
- Nate Kohari’s approach to convention based setter injection in Ninject (I’m going to copy the idea into StructureMap)
- Autofac’s extensibility model (also going to copy some of that)
- I really, really like getting patches for StructureMap, and I’ve got a couple to incorporate this week
- Love the new language features in .Net 3.5. I bitch about generics a lot, but that comes from pushing the envelope on usage and banging into edge cases. It’s really generics within Fluent Interface code that gives me the most heartburn, and that’s not typical usage.
- The magic of expressions, and Daniel Cazzulino for blazing a trail on using Expressions
- The jQuery ecosystem. And I thought Microsoft’s official blessing and support for jQuery was huge
- MassTransit (I think the new service bus tools like nServiceBus & MassTransit basically become a sort of a “Distributed IoC” tool
- Linq to NHibernate and Linq in general of course
- The more powerful auto mapping and convention support in Fluent NHibernate (I didn’t write that part)
- Bellware’s SpecUnit assertion extensions
- The fluent fixture stuff we stole from the Eleutian guys
- The way P&P did the Prism project out in the open
- The common service locator initiative
- The way MS is doing the MVC project out in the open
- The fact that MS does much more to acknowledge the value of Separated Presentation patterns and encourage their usage than they did just a few years ago
- The fact that MEF is open sourced
- The fact that MEF exists I think will help open up and decouple the BCL in some advantageous ways. I think DI-friendly code will make it easier for us to use better composition based design instead of nasty inheritance structures
- Yes, I gripe about some details of the MVC, but I made some huge, valuable customizations to our MVC pipeline in the past two days that were possible because the MVC classes are pretty cohesive and well structured
- Basically any tool written by JetBrains
- JP’s keyboard macro stuff for BDD
- I do like the general concept behind StackOverflow, I’m just dubious about the veracity and wisdom of some of its content
- Auto Mockers and InteractionContext base classes that make interaction style unit tests much easier than a few years ago
- Rake as a build tool
- Rob Conery’s MVC Storefront podcasts
- The HerdingCode podcasts
- Elegant Code and Los Techies as blogging communities
- You have to look for it a bit, but the fact that many more .Net authors/INETA speakers/gurus from outside the little ALT.NET echo chamber are addressing design fundamentals and unit testing concerns in their writing and speaking. Don’t read any sarcasm or anything negative into that, I really do think it’s a good thing because those folks have much more reach. I’m thinking specifically about some recent MSDN articles
- The fact that we’re finally getting some well supported alternative languages for .Net. VB.Net and C# are essentially Country and Western. F#, IronRuby, and IronPython gives us Jazz, Blues, and Opera.
- I was surprisingly impressed with Dino Esposito’s latest book on .Net architecture
- The DotNetRocks guest list. Yes, I tend to grumble at some of things that get said on DNR a fair amount, but it’s astounding that they’ve gotten so many of my heros to come onto the show in the last couple months
- Ben Scheirman’s new fluent API for testing routes in MVC