Today I wish to tell about the build system a dynamic, modular application using Managed Extensibility Framework (MEF). Generally this is quite an old technology, which resulted from the system Add-On from the company Microsoft. MEF was a friendly shell over the monstrous system previously proposed. The result was so good that the MEF included in delivery .Net Framework 4 by default, so no need to search and download the library separately, and worry whether the library has a person.

It is also now clear that this technology can be used in the development of Enterprise, as it is in the main supply of the framework, but it’s such an argument against which project managers do not trample. Typically, project managers are very reluctant to use technologies and products which are not mentioned in press releases MS, even if the technology is widely and successfully used by the community. Although they can understand, this is the first point on which they will be kicking in the event of any overlap.

So, MEF easy to make the application modular, and adding new libraries can be carried out on the fly, without the use of sophisticated techniques. All the code is transparent and easy to understand.

MEF can be used starting with version. Net 3.5, taking the necessary libraries from CodePlex. As you may have guessed, from there you can take the source code and see how it all works.

Main features of MEF:

  • Provides a standardized way to organize workshops for the application and its appendices. In general, supplements are not tied to a specific application and implement a common interface can be used by different programs, which generally does not cancel and tight binding to the master application. Supplements may be dependent on one another and MEF alone connect them in the correct order.
  • Provides search and download of the add-ons by MEF
  • Allows you to tag metadata additions for additional opportunities to connect and filter adds.

Continue reading