The Provider Model
Author: Andreas Håkansson
The Managed Extensibility Framework is designed to have a compact core, which is responsible for managing the actual composition of parts. On top of that there is a layer known as the programming models. A programming model adds custom functionality and features, not available in the core itself, and enables custom
The provider model is a custom programming model for the Managed Extensibility Framework, developed by Microsoft. The goal of the project is to create a model where extensibility is the key design principle, enabling easy customization to suit the needs of your projects.
I would like to get your feedback, ideas, suggestions, contributions and comments on the model and the implementation details such as naming conventions, namespace hierarchy, syntax and so on, to help evolve the model even further!
The goal of the project is to create a model with is feature compatible with the default model and add new functionality on top of that. Changing from the default model to the provider model should require as few modifications as possible, of the composition parts, unless to use new features introduced by the provider model.
Extensibility should always be taken into consideration when designing a feature for the provider model, but efforts should be taken to ensure that the flexibility isn’t introduced at the cost of discoverability and usability.