Extensibility in Applicationusing MEF<br />By Abhishek Sur<br />Website: www.abhisheksur.com<br />Email : contact@abhishek...
Agenda<br />
What is Extensibility<br />
Extensiblity<br />Extensibility is an ability to design an application in such a manner so that 3rd party vendor can come ...
 Bertrand Meyer’s Open Close Principle<br />
Benefits of Extensible application<br />Reusability<br />Modularizing<br />Loose Coupling<br />Greater Momentum<br />Suppo...
Problems of Extensible application<br />Development process is more complex.<br />Architecture should be thought before ac...
Demo<br />Extensibility in your Application<br />
Managed Extensibility Framework<br />
How to MEF <br />
Export<br />
Import<br />
Compose<br />
MEF Architecture<br />Catalog<br />CustomExportProvider<br />CatalogExportProvider<br />AggregatingExportProvider<br />Com...
MEF <br />Catalog<br />Discovers and maintain extensions<br />CompositionContainer<br />Coordinate creations and satisfy d...
Demo<br />Adding MEF to the application<br />
Finally<br />Visual Studio is rich with MEF components<br />They export functionality that your code might need.<br />They...
References <br />MEF Article<br />http://tinyurl.com/MEFWORLD<br />MEF Source<br />http://tinyurl.com/MEFSOURCE<br />MEF G...
Abhishek Sur, MVP (Client App Dev)<br />www.abhisheksur.com<br />Email: contact@abhisheksur.com<br />Twitter : @abhi2434<b...
Upcoming SlideShare
Loading in...5
×

Extensibility in application

6,598

Published on

Extensibility with .NET 4.0 using MEF.

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
6,598
On Slideshare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Extensibility in application

  1. 1. Extensibility in Applicationusing MEF<br />By Abhishek Sur<br />Website: www.abhisheksur.com<br />Email : contact@abhisheksur.com<br />Twitter : @abhi2434<br />
  2. 2. Agenda<br />
  3. 3. What is Extensibility<br />
  4. 4. Extensiblity<br />Extensibility is an ability to design an application in such a manner so that 3rd party vendor can come along and customize it.<br />Extensibility does not require the application to be redeployed.<br />Extensible applications are flexible on client needs.<br />Examples : Microsoft Office, Skype, World Warcraft etc.<br />
  5. 5. Bertrand Meyer’s Open Close Principle<br />
  6. 6. Benefits of Extensible application<br />Reusability<br />Modularizing<br />Loose Coupling<br />Greater Momentum<br />Support for 3rd party vendors<br />Feeling of Ownership<br />
  7. 7. Problems of Extensible application<br />Development process is more complex.<br />Architecture should be thought before actual development begins.<br />Security <br />More error prone<br />
  8. 8. Demo<br />Extensibility in your Application<br />
  9. 9. Managed Extensibility Framework<br />
  10. 10. How to MEF <br />
  11. 11. Export<br />
  12. 12. Import<br />
  13. 13. Compose<br />
  14. 14. MEF Architecture<br />Catalog<br />CustomExportProvider<br />CatalogExportProvider<br />AggregatingExportProvider<br />CompositionContainer<br />Part<br />Part<br />Part<br />Export<br />Import<br />Export<br />Import<br />Export<br />Import<br />
  15. 15. MEF <br />Catalog<br />Discovers and maintain extensions<br />CompositionContainer<br />Coordinate creations and satisfy dependencies<br />ComposablePart<br />Are Imports and Exports that are composable to the Container<br />Support for LAZY<br />Support for Dynamic Recomposition<br />
  16. 16. Demo<br />Adding MEF to the application<br />
  17. 17. Finally<br />Visual Studio is rich with MEF components<br />They export functionality that your code might need.<br />They import functionality that your code might offer.<br />Your extension can export:<br />IWPFTextViewMarginProvider<br />ITaggerProvider<br />IMouseProcessorProvider<br />ICompletionSourceProvider<br />There are lots more……. <br />
  18. 18. References <br />MEF Article<br />http://tinyurl.com/MEFWORLD<br />MEF Source<br />http://tinyurl.com/MEFSOURCE<br />MEF Guide<br />http://tinyurl.com/mefguide<br />MEF Blogs<br />http://tinyurl.com/mefBlogs<br />MEF Discussions<br />http://tinyurl.com/mefDiscussions<br />
  19. 19. Abhishek Sur, MVP (Client App Dev)<br />www.abhisheksur.com<br />Email: contact@abhisheksur.com<br />Twitter : @abhi2434<br />Thank you.<br />
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×