Extensibilityinapplication 110827160911-phpapp01


Published on

In this session I have

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

Extensibilityinapplication 110827160911-phpapp01

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