MEF (Managed Extensibility Framework) is a framework for creating extensible applications that focuses on discovery of parts at runtime. It allows for exposing and importing functionality through composable parts defined with attributes. Catalogs define which parts are available to the system and can be filtered. The composition container wires everything together and satisfies dependencies. Export providers determine the lifetime of parts as shared, non-shared, or any. MEF demonstrates composition, filtering, recomposition, and creation policies through examples. While MEF puts components together, it is not an inversion of control container that defines dependencies.