What is MEF - kaisu1986/ATF GitHub Wiki
Microsoft's Managed Extensibility Framework (MEF) allows an application to easily add or remove components. A component is either an object or a C# type that is added to a special MEF container, so that the component can discover and use other components without having a hard-dependency between them.
Microsoft's MEF documentation calls these components extensions or parts; this document and the other ATF documents use the term component or MEF component if required for clarity.
ATF contains many components to easily provide capabilities common to many applications, so components are an integral part of ATF. Many of these components can be used independently of MEF. Some key components are outlined in Important ATF Components.
It is not in the scope of this reference to discuss MEF in depth, however, it does discuss How MEF is Used in ATF.
You do need to know the basics of MEF to understand how ATF employs it. To learn about MEF, see the following:
- For a brief overview, see What is MEF on CodePlex.
- For a short introduction showing how to use MEF, see 5 Minute Tutorial on Managed Extensibility Framework (MEF).
- For more details on MEF usage, see MEF Programming Guide on CodePlex.
- For Microsoft's reference, see Managed Extensibility Framework on the MSDN Web site.
- For the MEF API Reference, see the System.ComponentModel.Composition namespace on MSDN.