What is the Managed Extensibility Framework?

It's not an IoC container, It's not MAF, it's not the Managed Entity Framework either :-) So what is it? There has been no shortage of discussion on this very topic since MEF was first announced. Quite simply, MEF makes building extensible apps, libraries and frameworks easy. It shares some common characteristics of other frameworks out there, but it also addresses a whole new set of problems that arise in building extremely large scalable extensible systems.

A picture tells a thousand words. I like to use this one for describing MEF.

blocks.png

In MEF everything is an extension, everything is extensible (extensions themselves included)

A bunch of recent posts from our community help to highlight some of the characteristics of what MEF is and what MEF isn't.

There's also been a few posts on how to actually use it (which is another common question)

If your evaluating MEF or interested in understanding it's goals, I recommend you check out these posts which I am sure are the first of many to come. Also don't forget to grab the bits on our CodePlex site