MEF (czyli Managed Extension Framework) to biblioteka przeznaczona do budowy aplikacji, gdzie bardzo rozbudowany system składa się z połączonych elementów (pluginów) tworzonych i łączonych w bardzo prosty sposób - w zasadzie przy użyciu 2 atrybutów: Import i Export. Celem jest zapewnienie by taka część (czyli ComposablePart) mogła być używana w wielu systemach - wymagana jest tylko zgodność kontraktu. MEF zawiera mechanizm katalogu, automatycznie wyszukuje "części" składowe, potrafi stosować mechanizm "layzy load", czyli wczytywania składnika dopiero wtedy gdy ktoś z niego chce skorzystać (to przyspiesza start aplikacji).
Tak naprawdę - realizuje podobne założenia co Unity Application Block czy generalnie pojemniki Dependency Injection.
MEF będzie częścią .NET Framework 4.0 (obecnie można go ściągnąć ze stron CodePlex - www.codeplex.com/MEF ). Wykorzystywany jest też jako podstawa w Visual Studio 10 (np. używany jest w projektancie jęsyka M w Oslo).
Dokumentację można znaleźć tutaj: www.codeplex.com/MEF/Wiki/View.aspx?title=Guide , a ogólne www.codeplex.com/MEF/Wiki/View.aspx?title=Overview . Warto obejrzeć!