views:

201

answers:

2

When the .net 2.0 framework first came out, the provider model was all the rage. 2.0 even shipped with a bunch of default providers (Membership, sitemap, role). Since the release of 2.0, the hype has died down, and whilst I still use providers day to day, it seems to get far less press.

I was wondering if this is because people are using something other than providers and they've been supersceded, or is it simply because the take up wasn't as big as other IoC methods?

+3  A: 

It actually hasn't died down. DI is still big. There are many DI frameworks out there to choose from. Yes, it's not hard-baked into every part framework like it should absolutely be, but its still a very good practice to follow. For instance, I was using the P&P's custom application blocks to do DI. Until they ditched it for Unity. Now I'm using unity.

A lightweight DI framework is a good idea for any large extensible application.

Will
This is part of my point tho... DI isn't going away, if anything it's getting bigger, but the provider model seems to be less and less the preferred way to do things, yet it meets most, if not all of my DI requirements.
lomaxx
What is it being replaced by? IoC? A rose etc.... I'd like to see a better way to break dependencies in code than DI.
Will
I do agree that it isn't being used enough. The more I code the more dependencies bug me.
Will
What does DI and loC stand for?
alexmac
Dependency Injection and Inversion of Control
Mitch Wheat
A: 

I think that as these tools become more standard within .NET the hype around them becomes less, but their use does not. Certainly the Membership and role providers are very important to our new application that we are developing and will save us significant amounts of code.

Microsoft Patterns and Practices is the birthplace of tools like the Enterprise Library, which is heavily involved with the provider patterns (particularly with membership) in regards to the Security Applicaiton block and the model appears to be used throughout the blocks.

Odd