Dependency Injection is Dead! is the somewhat provocative title of an interesting post of Simon Ince.

Simon indeed proposes another approach: AOP-powered Dependency Resolution. The idea is to use aspects on fields or properties to resolve the dependencies on-demand, when the property or field value is retrieved. Technically, it would be enough to turn the old good [Dependency] custom attribute into an aspect.

I won't copy-paste Simon's stuff, so please read from the horse's feather on his blog.

A refreshing view on a topic that tends to become sanctified and therefore unchallenged in our community.

Even if this approach does not solve all the use cases of Dependency Injection, covers a lot of them in quite an elegant way. While it would be theoretically easy to use this approach with dependency injection frameworks (because dependency resolution is obviously one the major components of a DI framework, the other big one being the object builder), I noticed that Unity does not offer the functionality at the required level of granularity. A pity, which I have notified in illo tempore to the Unity team. Maybe some day wind will turn...

Happy PostSharping!


I have opened a special section of the forum for VIP community members. The objective is to share content with DNUG leaders, speakers, and technical writers.

Indeed, I've long looked for a way to make it easier for speakers to get something to show about PostSharp: some figures, some slides, or even whole presentations ready to be served. However, I needed some way to ensure that the same content will not be served twice to the same audience, and they the audience does not just get the same content as it can download from the web site.

The solution I found: make this content available to selected people only.

So if you are a user group team leader, conference organizer, speaker, technical writer -- or if you have any other good reason to get access to this content -- you can request membership in the VIP group. The VIP section is implemented as a protected forum in our message board, where downloads are simply attachments to the topic. Every time the content will be delivered somewhere, I'll add a post to the topic.

By the way, even if you get access to this section, you still need to respect copyrights and request for permission before publishing any non-trivial part of the content.

I just hope I don't frustrate tons of people because of that... Oh, if you want to see the content, why not ask your UG leader to organize something?

Happy PostSharping,


I will present aspect-oriented programming and PostSharp at the Software Development Event (SDE) in Ede, The Netherlands, on June 23th, 2008.

I have two sessions of 75 minutes each:

  • Addressing non-functional requirements with aspects: a general introduction to aspect-oriented programming (AOP) with a presentation of typical problems of software engineering that can be better solved using AOP and an outlook at different popular AOP solutions.
  • Towards more complex aspects using PostSharp: a thorough trip into PostSharp Laos showing how to concretely develop more complex aspects and apply them to business applications.

Although my talks have been placed into the Visual Basic track, it is actually not specific to VB at all, and all samples will even be in C#.

I will be there till Tuesday, so if anyone there wants to meet me (in Eve or Amsterdam), there is an opportunity. Just let it know!

Happy PostSharping!