-
Notifications
You must be signed in to change notification settings - Fork 262
What is MEF
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 guide and 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 guide 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.
ATF uses MEF because its plugin architecture offers many advantages:
- MEF provides a nice way to enable interdependent application components to discover each other at runtime.
- MEF supports many scenarios, supports lazy loading, and has good support for circular dependencies.
- MEF is non-intrusive: it does not require that you implement an interface or derive from a base class.
- It is easy to port to MEF.
- MEF is standard with the release of .NET 4.0 and later.
- What is MEF: Brief description of MEF with links to more detailed information.
- How MEF is Used in ATF: Examine how ATF is used in sample applications to compose components and how components are decorated.
- Initializing Components: How component initialization is implemented in ATF.
- Using ATF Components: How to use ATF components, discovering what you need to provide in your application.
- Creating MEF Components: How to create components of your own, using the attributes you need.
- Important ATF Components: Description of some key ATF components in functional areas as well as some components in sample applications.
- Finding ATF Components: How to find components you need for your application.
- Details on Selected ATF Components: Provides more details on some ATF components you might want to use in your applications.
- Details on Using Selected ATF Components: Shows exactly how to use certain components.
- Home
- Getting Started
- Features & Benefits
- Requirements & Dependencies
- Gallery
- Technology & Samples
- Adoption
- News
- Release Notes
- ATF Community
- Searching Documentation
- Using Documentation
- Videos
- Tutorials
- How To
- Programmer's Guide
- Reference
- Code Samples
- Documentation Files
© 2014-2015, Sony Computer Entertainment America LLC