SlideShare une entreprise Scribd logo
1  sur  27
Creating extensible
application using MEF




@Ben_Hall
Ben@BenHall.me.uk
Blog.BenHall.me.uk
Agenda
•   MEF ABCs
•   Extensibility in .Net 2.0
•   Extensibility with MEF
•   MEF Internally
Managed Extensibility
    Framework
http://www.flickr.com/photos/leon_homan/2856628778/
http://www.flickr.com/photos/zen/2273186263/
External and Internal
http://www.flickr.com/photos/mag3737/1914076277/
MS-PL




http://www.flickr.com/photos/25501212@N05/2934269081/
http://www.flickr.com/photos/dunechaser/2918021174/
[Export]

I have something to offer
[Import]

I need something
Catalog

I know about some exports
Container

I know about everything
DEMO
HELLO WORLD
DEMO
MEFUNIT
DEMO
FROM 2.0 TO MEF
DEMO
BEYOND 3RD PARTY ADDINS
DEMO
BEING SELECTIVE
DEMO
ASP.NET MVC AND MEF
In summary...
http://www.flickr.com/photos/m0php/530526644/
Summary
•   Extensibility
•   Allows 3rd parties to hook-in
•   Allows internals to be decoupled
•   Override your built in defaults
•   Part of .Net 4.0
•   Available today from Codeplex
Thank you!



             Twitter - @Ben_Hall
              Blog.BenHall.me.uk
             Ben@BenHall.me.uk
Resources
• http://blog.BenHall.me.uk
• http://www.codeplex.com/mef
• http://blogs.msdn.com/gblock

Contenu connexe

Tendances

Paragon New and Old Comparassion
Paragon New and Old ComparassionParagon New and Old Comparassion
Paragon New and Old Comparassion
Mark Flavin
 

Tendances (19)

Announcing asp.net core updates in .net 5 preview 8
Announcing asp.net core updates in .net 5 preview 8Announcing asp.net core updates in .net 5 preview 8
Announcing asp.net core updates in .net 5 preview 8
 
Branching in TFS 2010 Part V (Sharing Code)
Branching in TFS 2010 Part V (Sharing Code)Branching in TFS 2010 Part V (Sharing Code)
Branching in TFS 2010 Part V (Sharing Code)
 
16 asp.net session23
16 asp.net session2316 asp.net session23
16 asp.net session23
 
Building Extensible RIAs with MEF
Building Extensible RIAs with MEFBuilding Extensible RIAs with MEF
Building Extensible RIAs with MEF
 
Branching in TFS 2010 Part II (Third Party Pattern)
Branching in TFS 2010 Part II (Third Party Pattern)Branching in TFS 2010 Part II (Third Party Pattern)
Branching in TFS 2010 Part II (Third Party Pattern)
 
Branching in TFS 2010 Part III (End-User Pattern)
Branching in TFS 2010 Part III (End-User Pattern)Branching in TFS 2010 Part III (End-User Pattern)
Branching in TFS 2010 Part III (End-User Pattern)
 
Branching in TFS 2010 Part IV (Internal Pattern)
Branching in TFS 2010 Part IV (Internal Pattern)Branching in TFS 2010 Part IV (Internal Pattern)
Branching in TFS 2010 Part IV (Internal Pattern)
 
Selenium training course_content_3_days
Selenium training course_content_3_daysSelenium training course_content_3_days
Selenium training course_content_3_days
 
Design Patterns : The Ultimate Blueprint for Software
Design Patterns : The Ultimate Blueprint for SoftwareDesign Patterns : The Ultimate Blueprint for Software
Design Patterns : The Ultimate Blueprint for Software
 
Designing an effective hybrid apps automation framework
Designing an effective hybrid apps automation frameworkDesigning an effective hybrid apps automation framework
Designing an effective hybrid apps automation framework
 
Paragon New and Old Comparassion
Paragon New and Old ComparassionParagon New and Old Comparassion
Paragon New and Old Comparassion
 
Develop MS Office Plugins
Develop MS Office Plugins Develop MS Office Plugins
Develop MS Office Plugins
 
Marathon Testing Tool
Marathon Testing ToolMarathon Testing Tool
Marathon Testing Tool
 
Mule management console installation
Mule management console installation Mule management console installation
Mule management console installation
 
Chapter 01
Chapter 01Chapter 01
Chapter 01
 
Visual Studio 2010 RTMtoSP1
Visual Studio 2010 RTMtoSP1Visual Studio 2010 RTMtoSP1
Visual Studio 2010 RTMtoSP1
 
Hybrid framework
Hybrid frameworkHybrid framework
Hybrid framework
 
Wt3 designing apis
Wt3 designing apisWt3 designing apis
Wt3 designing apis
 
How to commit a project in svn using svn plugin in anypoint studio
How to commit a project in svn using svn plugin in anypoint studioHow to commit a project in svn using svn plugin in anypoint studio
How to commit a project in svn using svn plugin in anypoint studio
 

En vedette

En vedette (11)

Creating extensible application using MEF
Creating extensible application using MEFCreating extensible application using MEF
Creating extensible application using MEF
 
Open Source as Reference Implementation for Next Gen Network Services
Open Source as Reference Implementation for Next Gen Network ServicesOpen Source as Reference Implementation for Next Gen Network Services
Open Source as Reference Implementation for Next Gen Network Services
 
Carrier-Class Environments for NFV Lifecycle Management- Overture & Wind Rive...
Carrier-Class Environments for NFV Lifecycle Management- Overture & Wind Rive...Carrier-Class Environments for NFV Lifecycle Management- Overture & Wind Rive...
Carrier-Class Environments for NFV Lifecycle Management- Overture & Wind Rive...
 
Mef ce-and-nfv-whitepaper-final-2016-july-27
Mef ce-and-nfv-whitepaper-final-2016-july-27Mef ce-and-nfv-whitepaper-final-2016-july-27
Mef ce-and-nfv-whitepaper-final-2016-july-27
 
Extending the Enterprise with MEF
Extending the Enterprise with MEFExtending the Enterprise with MEF
Extending the Enterprise with MEF
 
MEF Service Level Aggrement
MEF Service Level AggrementMEF Service Level Aggrement
MEF Service Level Aggrement
 
ECI-The Case for Carrier Cooperation and LSO-MEF London-May 2016
ECI-The Case for Carrier Cooperation and LSO-MEF London-May 2016ECI-The Case for Carrier Cooperation and LSO-MEF London-May 2016
ECI-The Case for Carrier Cooperation and LSO-MEF London-May 2016
 
The Third Network: LSO, SDN and NFV
The Third Network: LSO, SDN and NFVThe Third Network: LSO, SDN and NFV
The Third Network: LSO, SDN and NFV
 
Colt inter-provider SDN NNIs and APIs
Colt inter-provider SDN NNIs and APIsColt inter-provider SDN NNIs and APIs
Colt inter-provider SDN NNIs and APIs
 
vCPE Challenges and Ways Forward
vCPE Challenges and Ways Forward vCPE Challenges and Ways Forward
vCPE Challenges and Ways Forward
 
Chicago Data Summit: Apache HBase: An Introduction
Chicago Data Summit: Apache HBase: An IntroductionChicago Data Summit: Apache HBase: An Introduction
Chicago Data Summit: Apache HBase: An Introduction
 

Similaire à Creating extendable applications using MEF

Similaire à Creating extendable applications using MEF (20)

Mef - NxtGenUG Coventry
Mef - NxtGenUG CoventryMef - NxtGenUG Coventry
Mef - NxtGenUG Coventry
 
Browser Exploitation Framework Tutorial
Browser Exploitation Framework TutorialBrowser Exploitation Framework Tutorial
Browser Exploitation Framework Tutorial
 
Frontend Crash Course
Frontend Crash CourseFrontend Crash Course
Frontend Crash Course
 
Workshop: Introduction to Web Components & Polymer
Workshop: Introduction to Web Components & Polymer Workshop: Introduction to Web Components & Polymer
Workshop: Introduction to Web Components & Polymer
 
JavaScript with Adobe applications - Acceleration web development!
JavaScript with Adobe applications - Acceleration web development!JavaScript with Adobe applications - Acceleration web development!
JavaScript with Adobe applications - Acceleration web development!
 
Symfony Nano Framework
Symfony Nano FrameworkSymfony Nano Framework
Symfony Nano Framework
 
State of the Mahara Nation 2014
State of the Mahara Nation 2014State of the Mahara Nation 2014
State of the Mahara Nation 2014
 
Fun with ASP.NET MVC 3, MEF and NuGet
Fun with ASP.NET MVC 3, MEF and NuGetFun with ASP.NET MVC 3, MEF and NuGet
Fun with ASP.NET MVC 3, MEF and NuGet
 
Thinkful FrontEnd Crash Course - HTML & CSS
Thinkful FrontEnd Crash Course - HTML & CSSThinkful FrontEnd Crash Course - HTML & CSS
Thinkful FrontEnd Crash Course - HTML & CSS
 
Thinkful DC FrontEnd Crash Course - HTML & CSS
Thinkful DC FrontEnd Crash Course - HTML & CSSThinkful DC FrontEnd Crash Course - HTML & CSS
Thinkful DC FrontEnd Crash Course - HTML & CSS
 
Connect with Facebook to Rails Application By Nyros Developer
Connect with Facebook to Rails Application By Nyros DeveloperConnect with Facebook to Rails Application By Nyros Developer
Connect with Facebook to Rails Application By Nyros Developer
 
Thinkful FrontEnd Crash Course - HTML & CSS
Thinkful FrontEnd Crash Course - HTML & CSSThinkful FrontEnd Crash Course - HTML & CSS
Thinkful FrontEnd Crash Course - HTML & CSS
 
ASP.NET vNext Beta 3
ASP.NET vNext Beta 3ASP.NET vNext Beta 3
ASP.NET vNext Beta 3
 
Opening the mobile web mozilla and firefox os-chit thiri maung
Opening the mobile web   mozilla and firefox os-chit thiri maungOpening the mobile web   mozilla and firefox os-chit thiri maung
Opening the mobile web mozilla and firefox os-chit thiri maung
 
The Journey Towards Continuous Integration
The Journey Towards Continuous IntegrationThe Journey Towards Continuous Integration
The Journey Towards Continuous Integration
 
MVC = Make Venerated Code?
MVC = Make Venerated Code?MVC = Make Venerated Code?
MVC = Make Venerated Code?
 
Symfony4 - A new way of developing web applications
Symfony4 - A new way of developing web applicationsSymfony4 - A new way of developing web applications
Symfony4 - A new way of developing web applications
 
Developing for Mobile
Developing for MobileDeveloping for Mobile
Developing for Mobile
 
Laravel
LaravelLaravel
Laravel
 
Creating Openbravo Workspace Widgets
Creating Openbravo Workspace WidgetsCreating Openbravo Workspace Widgets
Creating Openbravo Workspace Widgets
 

Plus de Ben Hall

Plus de Ben Hall (20)

The Art Of Documentation - NDC Porto 2022
The Art Of Documentation - NDC Porto 2022The Art Of Documentation - NDC Porto 2022
The Art Of Documentation - NDC Porto 2022
 
The Art Of Documentation for Open Source Projects
The Art Of Documentation for Open Source ProjectsThe Art Of Documentation for Open Source Projects
The Art Of Documentation for Open Source Projects
 
Three Years of Lessons Running Potentially Malicious Code Inside Containers
Three Years of Lessons Running Potentially Malicious Code Inside ContainersThree Years of Lessons Running Potentially Malicious Code Inside Containers
Three Years of Lessons Running Potentially Malicious Code Inside Containers
 
Containers without docker
Containers without dockerContainers without docker
Containers without docker
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetes
 
The Art of Documentation and Readme.md for Open Source Projects
The Art of Documentation and Readme.md for Open Source ProjectsThe Art of Documentation and Readme.md for Open Source Projects
The Art of Documentation and Readme.md for Open Source Projects
 
How Secure Are Docker Containers?
How Secure Are Docker Containers?How Secure Are Docker Containers?
How Secure Are Docker Containers?
 
The Challenges of Becoming Cloud Native
The Challenges of Becoming Cloud NativeThe Challenges of Becoming Cloud Native
The Challenges of Becoming Cloud Native
 
Scaling Docker Containers using Kubernetes and Azure Container Service
Scaling Docker Containers using Kubernetes and Azure Container ServiceScaling Docker Containers using Kubernetes and Azure Container Service
Scaling Docker Containers using Kubernetes and Azure Container Service
 
The art of documentation and readme.md
The art of documentation and readme.mdThe art of documentation and readme.md
The art of documentation and readme.md
 
Experimenting and Learning Kubernetes and Tensorflow
Experimenting and Learning Kubernetes and TensorflowExperimenting and Learning Kubernetes and Tensorflow
Experimenting and Learning Kubernetes and Tensorflow
 
Running .NET on Docker
Running .NET on DockerRunning .NET on Docker
Running .NET on Docker
 
Real World Lessons on the Pain Points of Node.JS Application
Real World Lessons on the Pain Points of Node.JS ApplicationReal World Lessons on the Pain Points of Node.JS Application
Real World Lessons on the Pain Points of Node.JS Application
 
Tips on solving E_TOO_MANY_THINGS_TO_LEARN with Kubernetes
Tips on solving E_TOO_MANY_THINGS_TO_LEARN with KubernetesTips on solving E_TOO_MANY_THINGS_TO_LEARN with Kubernetes
Tips on solving E_TOO_MANY_THINGS_TO_LEARN with Kubernetes
 
Deploying applications to Windows Server 2016 and Windows Containers
Deploying applications to Windows Server 2016 and Windows ContainersDeploying applications to Windows Server 2016 and Windows Containers
Deploying applications to Windows Server 2016 and Windows Containers
 
The How and Why of Windows containers
The How and Why of Windows containersThe How and Why of Windows containers
The How and Why of Windows containers
 
Lessons from running potentially malicious code inside containers
Lessons from running potentially malicious code inside containersLessons from running potentially malicious code inside containers
Lessons from running potentially malicious code inside containers
 
Deploying Windows Containers on Windows Server 2016
Deploying Windows Containers on Windows Server 2016Deploying Windows Containers on Windows Server 2016
Deploying Windows Containers on Windows Server 2016
 
Learning Patterns for the Overworked Developer
Learning Patterns for the Overworked DeveloperLearning Patterns for the Overworked Developer
Learning Patterns for the Overworked Developer
 
Real World Lessons on the Pain Points of Node.js Applications
Real World Lessons on the Pain Points of Node.js ApplicationsReal World Lessons on the Pain Points of Node.js Applications
Real World Lessons on the Pain Points of Node.js Applications
 

Dernier

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Dernier (20)

Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 

Creating extendable applications using MEF

Notes de l'éditeur

  1. http://www.flickr.com/photos/mgspiller/138390945/
  2. http://www.flickr.com/photos/m0php/530526644/
  3. http://www.flickr.com/photos/dunechaser/2918021174/
  4. http://www.flickr.com/photos/mgspiller/138390945/
  5. http://www.flickr.com/photos/mgspiller/138390945/
  6. http://www.flickr.com/photos/mag3737/1914076277/
  7. http://www.flickr.com/photos/25501212@N05/2934269081/
  8. http://www.flickr.com/photos/leon_homan/2856628778/