SlideShare a Scribd company logo
1 of 19
Extensibility in Applicationusing MEF By Abhishek Sur Website: www.abhisheksur.com Email : contact@abhisheksur.com Twitter : @abhi2434
Agenda
What is Extensibility
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.
 Bertrand Meyer’s Open Close Principle
Benefits of Extensible application Reusability Modularizing Loose Coupling Greater Momentum Support for 3rd party vendors Feeling of Ownership
Problems of Extensible application Development process is more complex. Architecture should be thought before actual development begins. Security  More error prone
Demo Extensibility in your Application
Managed Extensibility Framework
How to MEF
Export
Import
Compose
MEF Architecture Catalog CustomExportProvider CatalogExportProvider AggregatingExportProvider CompositionContainer Part Part Part Export Import Export Import Export Import
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
Demo Adding MEF to the application
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…….
References  MEF Article http://tinyurl.com/MEFWORLD MEF Source http://tinyurl.com/MEFSOURCE MEF Guide http://tinyurl.com/mefguide MEF Blogs http://tinyurl.com/mefBlogs MEF Discussions http://tinyurl.com/mefDiscussions
Abhishek Sur, MVP (Client App Dev) www.abhisheksur.com Email: contact@abhisheksur.com Twitter : @abhi2434 Thank you.

More Related Content

Similar to Extensibility in application

.NET for Enterprise Apps - Pros and Cons.pdf
.NET for Enterprise Apps - Pros and Cons.pdf.NET for Enterprise Apps - Pros and Cons.pdf
.NET for Enterprise Apps - Pros and Cons.pdfJamesEddie2
 
Maximizing Potential - Hiring and Managing Dedicated Software Developers.pdf
Maximizing Potential - Hiring and Managing Dedicated Software Developers.pdfMaximizing Potential - Hiring and Managing Dedicated Software Developers.pdf
Maximizing Potential - Hiring and Managing Dedicated Software Developers.pdfJamesEddie2
 
Navya_Resume_New (1)
Navya_Resume_New (1)Navya_Resume_New (1)
Navya_Resume_New (1)Navya MP
 
Question 11.1 You are working on a DevOps project that involves .pdf
Question 11.1 You are working on a DevOps project that involves .pdfQuestion 11.1 You are working on a DevOps project that involves .pdf
Question 11.1 You are working on a DevOps project that involves .pdffarhanafurniture
 
Web–Based CRM Application with Interactive Graphs
Web–Based CRM Application with Interactive GraphsWeb–Based CRM Application with Interactive Graphs
Web–Based CRM Application with Interactive GraphsMike Taylor
 
Web–based crm application with interactive graphs
Web–based crm application with interactive graphsWeb–based crm application with interactive graphs
Web–based crm application with interactive graphsMike Taylor
 
Dev day paris020415
Dev day paris020415Dev day paris020415
Dev day paris020415pdufourSFDC
 
IBM Connections Cloud Application Development Strategy
IBM Connections Cloud Application Development StrategyIBM Connections Cloud Application Development Strategy
IBM Connections Cloud Application Development StrategyLuis Benitez
 
How Can The Extensibility Of A Platform Benefit A Business.pdf
How Can The Extensibility Of A Platform Benefit A Business.pdfHow Can The Extensibility Of A Platform Benefit A Business.pdf
How Can The Extensibility Of A Platform Benefit A Business.pdfPellet Stove Inserts
 
How Can The Extensibility Of A Platform Benefit A Business.pdf
How Can The Extensibility Of A Platform Benefit A Business.pdfHow Can The Extensibility Of A Platform Benefit A Business.pdf
How Can The Extensibility Of A Platform Benefit A Business.pdfPellet Stove Inserts
 
AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06Jay van Zyl
 
Top 5 case tool of rrquirement engreeing.pptx
Top 5 case tool of rrquirement engreeing.pptxTop 5 case tool of rrquirement engreeing.pptx
Top 5 case tool of rrquirement engreeing.pptxYuiygGuuj
 
The advantages and disadvantages of .net framework programming
The advantages and disadvantages of .net framework programmingThe advantages and disadvantages of .net framework programming
The advantages and disadvantages of .net framework programmingSameerShaik43
 
Social networking app to trade user belongings
Social networking app to trade user belongingsSocial networking app to trade user belongings
Social networking app to trade user belongingsMike Taylor
 
Social networking app to trade user belongings
Social networking app to trade user belongingsSocial networking app to trade user belongings
Social networking app to trade user belongingsMike Taylor
 
Managed Extensibility Framework 2010 01
Managed Extensibility Framework 2010 01Managed Extensibility Framework 2010 01
Managed Extensibility Framework 2010 01David Giard
 

Similar to Extensibility in application (20)

.NET for Enterprise Apps - Pros and Cons.pdf
.NET for Enterprise Apps - Pros and Cons.pdf.NET for Enterprise Apps - Pros and Cons.pdf
.NET for Enterprise Apps - Pros and Cons.pdf
 
Maximizing Potential - Hiring and Managing Dedicated Software Developers.pdf
Maximizing Potential - Hiring and Managing Dedicated Software Developers.pdfMaximizing Potential - Hiring and Managing Dedicated Software Developers.pdf
Maximizing Potential - Hiring and Managing Dedicated Software Developers.pdf
 
Navya_Resume_New (1)
Navya_Resume_New (1)Navya_Resume_New (1)
Navya_Resume_New (1)
 
Debesh's Resume
Debesh's ResumeDebesh's Resume
Debesh's Resume
 
Question 11.1 You are working on a DevOps project that involves .pdf
Question 11.1 You are working on a DevOps project that involves .pdfQuestion 11.1 You are working on a DevOps project that involves .pdf
Question 11.1 You are working on a DevOps project that involves .pdf
 
Web–Based CRM Application with Interactive Graphs
Web–Based CRM Application with Interactive GraphsWeb–Based CRM Application with Interactive Graphs
Web–Based CRM Application with Interactive Graphs
 
Web–based crm application with interactive graphs
Web–based crm application with interactive graphsWeb–based crm application with interactive graphs
Web–based crm application with interactive graphs
 
Dev day paris020415
Dev day paris020415Dev day paris020415
Dev day paris020415
 
IBM Connections Cloud Application Development Strategy
IBM Connections Cloud Application Development StrategyIBM Connections Cloud Application Development Strategy
IBM Connections Cloud Application Development Strategy
 
Microsoft Teams community call_May 2019
Microsoft Teams community call_May 2019Microsoft Teams community call_May 2019
Microsoft Teams community call_May 2019
 
Sakshi Report
Sakshi ReportSakshi Report
Sakshi Report
 
How Can The Extensibility Of A Platform Benefit A Business.pdf
How Can The Extensibility Of A Platform Benefit A Business.pdfHow Can The Extensibility Of A Platform Benefit A Business.pdf
How Can The Extensibility Of A Platform Benefit A Business.pdf
 
How Can The Extensibility Of A Platform Benefit A Business.pdf
How Can The Extensibility Of A Platform Benefit A Business.pdfHow Can The Extensibility Of A Platform Benefit A Business.pdf
How Can The Extensibility Of A Platform Benefit A Business.pdf
 
AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06AA using WS vanZyl 2002-05-06
AA using WS vanZyl 2002-05-06
 
Top 5 case tool of rrquirement engreeing.pptx
Top 5 case tool of rrquirement engreeing.pptxTop 5 case tool of rrquirement engreeing.pptx
Top 5 case tool of rrquirement engreeing.pptx
 
The advantages and disadvantages of .net framework programming
The advantages and disadvantages of .net framework programmingThe advantages and disadvantages of .net framework programming
The advantages and disadvantages of .net framework programming
 
Social networking app to trade user belongings
Social networking app to trade user belongingsSocial networking app to trade user belongings
Social networking app to trade user belongings
 
Social networking app to trade user belongings
Social networking app to trade user belongingsSocial networking app to trade user belongings
Social networking app to trade user belongings
 
Building Apps On Lightning
Building Apps On LightningBuilding Apps On Lightning
Building Apps On Lightning
 
Managed Extensibility Framework 2010 01
Managed Extensibility Framework 2010 01Managed Extensibility Framework 2010 01
Managed Extensibility Framework 2010 01
 

More from Abhishek Sur

Azure servicefabric
Azure servicefabricAzure servicefabric
Azure servicefabricAbhishek Sur
 
Building a bot with an intent
Building a bot with an intentBuilding a bot with an intent
Building a bot with an intentAbhishek Sur
 
C# 7.0 Hacks and Features
C# 7.0 Hacks and FeaturesC# 7.0 Hacks and Features
C# 7.0 Hacks and FeaturesAbhishek Sur
 
Angular JS, A dive to concepts
Angular JS, A dive to conceptsAngular JS, A dive to concepts
Angular JS, A dive to conceptsAbhishek Sur
 
Stream Analytics Service in Azure
Stream Analytics Service in AzureStream Analytics Service in Azure
Stream Analytics Service in AzureAbhishek Sur
 
Designing azure compute and storage infrastructure
Designing azure compute and storage infrastructureDesigning azure compute and storage infrastructure
Designing azure compute and storage infrastructureAbhishek Sur
 
Working with Azure Resource Manager Templates
Working with Azure Resource Manager TemplatesWorking with Azure Resource Manager Templates
Working with Azure Resource Manager TemplatesAbhishek Sur
 
F12 debugging in Ms edge
F12 debugging in Ms edgeF12 debugging in Ms edge
F12 debugging in Ms edgeAbhishek Sur
 
Mobile Services for Windows Azure
Mobile Services for Windows AzureMobile Services for Windows Azure
Mobile Services for Windows AzureAbhishek Sur
 
Service bus to build Bridges
Service bus to build BridgesService bus to build Bridges
Service bus to build BridgesAbhishek Sur
 
Windows azure pack overview
Windows azure pack overviewWindows azure pack overview
Windows azure pack overviewAbhishek Sur
 
AMicrosoft azure hyper v recovery manager overview
AMicrosoft azure hyper v recovery manager overviewAMicrosoft azure hyper v recovery manager overview
AMicrosoft azure hyper v recovery manager overviewAbhishek Sur
 
Di api di server b1 ws
Di api di server b1 wsDi api di server b1 ws
Di api di server b1 wsAbhishek Sur
 
Integrating cortana with wp8 app
Integrating cortana with wp8 appIntegrating cortana with wp8 app
Integrating cortana with wp8 appAbhishek Sur
 
Asp.net performance
Asp.net performanceAsp.net performance
Asp.net performanceAbhishek Sur
 
Introduction to XAML and its features
Introduction to XAML and its featuresIntroduction to XAML and its features
Introduction to XAML and its featuresAbhishek Sur
 
SQL Server2012 Enhancements
SQL Server2012 EnhancementsSQL Server2012 Enhancements
SQL Server2012 EnhancementsAbhishek Sur
 
Dev days Visual Studio 2012 Enhancements
Dev days Visual Studio 2012 EnhancementsDev days Visual Studio 2012 Enhancements
Dev days Visual Studio 2012 EnhancementsAbhishek Sur
 
Hidden Facts of .NET Language Gems
Hidden Facts of .NET Language GemsHidden Facts of .NET Language Gems
Hidden Facts of .NET Language GemsAbhishek Sur
 

More from Abhishek Sur (20)

Azure servicefabric
Azure servicefabricAzure servicefabric
Azure servicefabric
 
Building a bot with an intent
Building a bot with an intentBuilding a bot with an intent
Building a bot with an intent
 
Code review
Code reviewCode review
Code review
 
C# 7.0 Hacks and Features
C# 7.0 Hacks and FeaturesC# 7.0 Hacks and Features
C# 7.0 Hacks and Features
 
Angular JS, A dive to concepts
Angular JS, A dive to conceptsAngular JS, A dive to concepts
Angular JS, A dive to concepts
 
Stream Analytics Service in Azure
Stream Analytics Service in AzureStream Analytics Service in Azure
Stream Analytics Service in Azure
 
Designing azure compute and storage infrastructure
Designing azure compute and storage infrastructureDesigning azure compute and storage infrastructure
Designing azure compute and storage infrastructure
 
Working with Azure Resource Manager Templates
Working with Azure Resource Manager TemplatesWorking with Azure Resource Manager Templates
Working with Azure Resource Manager Templates
 
F12 debugging in Ms edge
F12 debugging in Ms edgeF12 debugging in Ms edge
F12 debugging in Ms edge
 
Mobile Services for Windows Azure
Mobile Services for Windows AzureMobile Services for Windows Azure
Mobile Services for Windows Azure
 
Service bus to build Bridges
Service bus to build BridgesService bus to build Bridges
Service bus to build Bridges
 
Windows azure pack overview
Windows azure pack overviewWindows azure pack overview
Windows azure pack overview
 
AMicrosoft azure hyper v recovery manager overview
AMicrosoft azure hyper v recovery manager overviewAMicrosoft azure hyper v recovery manager overview
AMicrosoft azure hyper v recovery manager overview
 
Di api di server b1 ws
Di api di server b1 wsDi api di server b1 ws
Di api di server b1 ws
 
Integrating cortana with wp8 app
Integrating cortana with wp8 appIntegrating cortana with wp8 app
Integrating cortana with wp8 app
 
Asp.net performance
Asp.net performanceAsp.net performance
Asp.net performance
 
Introduction to XAML and its features
Introduction to XAML and its featuresIntroduction to XAML and its features
Introduction to XAML and its features
 
SQL Server2012 Enhancements
SQL Server2012 EnhancementsSQL Server2012 Enhancements
SQL Server2012 Enhancements
 
Dev days Visual Studio 2012 Enhancements
Dev days Visual Studio 2012 EnhancementsDev days Visual Studio 2012 Enhancements
Dev days Visual Studio 2012 Enhancements
 
Hidden Facts of .NET Language Gems
Hidden Facts of .NET Language GemsHidden Facts of .NET Language Gems
Hidden Facts of .NET Language Gems
 

Recently uploaded

APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 

Recently uploaded (20)

APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 

Extensibility in application

  • 1. Extensibility in Applicationusing MEF By Abhishek Sur Website: www.abhisheksur.com Email : contact@abhisheksur.com Twitter : @abhi2434
  • 4. 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.
  • 5. Bertrand Meyer’s Open Close Principle
  • 6. Benefits of Extensible application Reusability Modularizing Loose Coupling Greater Momentum Support for 3rd party vendors Feeling of Ownership
  • 7. Problems of Extensible application Development process is more complex. Architecture should be thought before actual development begins. Security More error prone
  • 8. Demo Extensibility in your Application
  • 14. MEF Architecture Catalog CustomExportProvider CatalogExportProvider AggregatingExportProvider CompositionContainer Part Part Part Export Import Export Import Export Import
  • 15. 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
  • 16. Demo Adding MEF to the application
  • 17. 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…….
  • 18. References MEF Article http://tinyurl.com/MEFWORLD MEF Source http://tinyurl.com/MEFSOURCE MEF Guide http://tinyurl.com/mefguide MEF Blogs http://tinyurl.com/mefBlogs MEF Discussions http://tinyurl.com/mefDiscussions
  • 19. Abhishek Sur, MVP (Client App Dev) www.abhisheksur.com Email: contact@abhisheksur.com Twitter : @abhi2434 Thank you.