Ayende @ Rahien

My name is Oren Eini
Founder of Hibernating Rhinos LTD and RavenDB.
You can reach me by phone or email:


+972 52-548-6969

, @ Q c

Posts: 6,026 | Comments: 44,842

filter by tags archive

Strategy Provisioning for Application Management b...

time to read 1 min | 151 words

image Glenn Block has posted to the ALT.Net mailing list that the P&P team are working on a dependency injection application block.

At this point, I am not really sure what to think. ObjectBuilder was bad. I am still having to deal with fallout from that failure.

The OSS community already has several mature IoC products.

Just in case Microsoft has missed them:

1/ Castle Windsor

2/ Structure Map

3/ Spring.NET


If they want to decouple themselves from an IoC implementation, there is a way to do that already in .Net. It is called IServiceProvider, and is already supported by the IoC implementation. A default implementation can be done with 15 lines of code, if they want to provide one.

I would really like to know, why the hell do we need another duplication of OSS?


Stuart Cam

Many IT shops will only adopt a technology or feature that has been "ordained" by MS.

The current organisation I am contracting for has a .NET development guidance document that locks developers exclusively into the Enterprise Library. It has a very small and tentative mention of nUnit - probably on the basis that MS haven't reinvented that wheel just yet.

MS has the "power" to reach out to the other 80% of programmers. Something that many OSS projects, no matter how great, find hard to do.

Just take a look at the MVC mindshift on Web Forms. Surely due to pressure from the ALT.NET community actually feeding back into the MS monolith?

Emanuele DelBono


I strongly strongly agree with you!

Why Ms do this?

Chris Brandsma

I agree with Stuart Cam. Plus there are many businesses that don't allow OSS products to be used.

I've heard excuses ranging from 1. Needing someone to sue, 2. Liability, 3. scared of loosing their intellectual property because of licensing restrictions (cough -- GPL)

So developer in this predicament have to choose between rolling their own (IOC can be written fairly easily, but you don't get a full featured product), or use what comes from Microsoft. Often the other accepted products: StructureMap, Spring, and Windsor, aren't worth the hassle of getting management and legal to sign off on.

Eric Hauser



I wonder if licensing is one of the issues? All 3 of those projects use the Apache 2.0 license which is similar in may ways to the MS-PL license, but there are some differences:



I think Hammett summed it up best somewhere when he mentioned the"throat to choke" when something goes wrong.

@Stuart - "It has a very small and tentative mention of nUnit - probably on the basis that MS haven't reinvented that wheel just yet."

You don't count MSTest?

Stuart Cam


To be honest I've been looking at the OSS world long enough to not notice MS reinvent that wheel!

My bad.

Glenn Block

The part that seems to have gotten missed is that the block allows you to plug in the container of your choice. This means you can use Castle, Spring or even your own homegrown version.


When you're Microsoft you gotta own it so you can provide protection to the people who use it. It's a legal issue as much as a not invented here issue.

Kenneth Kasajian

This will be very useful.

IoC/DI are here to stay, and will probably show up as language features in C# 5.0 or something like that.

But seriously, we need to have a Microsoft solution to this, and hopefully not something from open source but software that is guaranteed known to be only contributed by Microsoft employees.

Comment preview

Comments have been closed on this topic.


No future posts left, oh my!


  1. Technical observations from my wife (3):
    13 Nov 2015 - Production issues
  2. Production postmortem (13):
    13 Nov 2015 - The case of the “it is slow on that machine (only)”
  3. Speaking (5):
    09 Nov 2015 - Community talk in Kiev, Ukraine–What does it take to be a good developer
  4. Find the bug (5):
    11 Sep 2015 - The concurrent memory buster
  5. Buffer allocation strategies (3):
    09 Sep 2015 - Bad usage patterns
View all series


Main feed Feed Stats
Comments feed   Comments Feed Stats