SlideShare a Scribd company logo
1 of 21
David Giard MCTS, MCSD, MCSE, MCDBA Principal Consultant, Sogeti www.DavidGiard.com DavidGiard@DavidGiard.com
Managed Extensibility Framework Beta 2
Compile and Deploy Tight Coupling DLL DLL EXE
MEF Loose Coupling with mef Compile and Deploy DLL DLL EXE DLL Contract Contract Contract Contract
Managed Extensibility Framework Applications consists of loosely-coupled components that are discovered and composed at runtime
Advantages of mef Loose Coupling Swap Classes at Runtime No Recompile or Redeploy Single Plug-In Architecture
MEF Usage Scenarios Empower developers to extend your application without modifying it Provide extra modules to your application, as needed Use MEF as an platform ecosystem to manage all parts of your application
Demo G/L Modules for Accounting app A/R MEFApp (Accounting) GenSetup A/P Export
Existing Extensibility in .Net Visual Studio Add-Ins Microsoft Tools for Office Rules Engines WCF Interfaces Reflection IOC / Dependency Injection
Get Started MEF.CodePlex.com   Download and unzip MEF_Beta_2.zip Zip file contains DLLs Samples Source Code
Developer Steps Set Reference to System.ComponentModel.Composition.dll Contract Import Export Catalogs Composition Import Contracts Export
MEF Contracts [Import(“Contract1”)] String  SomeThing {get; set;} [Export(“Contract1”)] Public string SpecialThing{ Get {return “A Value”}; } “A Value”
MEF Contracts [Import(“Contract1”)] String  SomeThing {get; set;} [Export(“Contract1”)] Public string MoreSpecialThing{ Get {return “A Different Value”}; } “A Different Value”
MEF Interface Contracts [Import(typeof(IFoo))] IFooSomeFoo {get; set;} [Export(typeof(IFoo))] public Foo: IFoo{ … } new Foo()
MEF Interface Contracts [Export(typeof(IFoo))] public Foo1: IFoo{ … } [ImportMany(typeof(IFoo))] List<IFoo> BunchOfFoos{get; set;} new Foo1() [Export(typeof(IFoo))] public Foo2: IFoo{ … } new Foo2()
Composition varcatalog1     = newDirectoryCatalog(@"c:EFmports"); var container = newCompositionContainer catalog1); container.ComposeParts(this); Catalogs TypeCatalog AssemblyCatalog DirectoryCatalog AggregateCatalog PackageCatalog (Silverlight toolkit)
Demo Using MEF
MEF vs  Dependency Injection
rESOURCES http://MEF.codeplex.com http://www.davidgiard.com http://msmvps.com/blogs/kathleen http://blogs.msdn.com/gblock http://tinyurl.com/TaultyMEFSilverlightVideos NPlus1.org David Giard, MCTS, MCSD, MCSE, MCDBA www.DavidGiard.com DavidGiard@DavidGiard.com
User Groups Great Lakes Area .Net User Group Southfield, MI migang.org Greater Lansing .Net User Group East Lansing, MI glugnet.org
Dave’s Thoughts DavidGiard.com TechnologyAndFriends.com DavidGiard@DavidGiard.com

More Related Content

What's hot

Component-based Software Engineering
Component-based Software EngineeringComponent-based Software Engineering
Component-based Software EngineeringSalman Khan
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycleKanav Sood
 
Component Based Software Development
Component Based Software DevelopmentComponent Based Software Development
Component Based Software DevelopmentDiego Cardozo
 
Component Based Testing Using Finite Automata
Component Based Testing Using Finite AutomataComponent Based Testing Using Finite Automata
Component Based Testing Using Finite AutomataSanjoy Kumar Das
 
The benefits of software reuse
The benefits of software reuseThe benefits of software reuse
The benefits of software reuseEntando
 
Shivani_Sethi__Resume
Shivani_Sethi__ResumeShivani_Sethi__Resume
Shivani_Sethi__ResumeShivani Sethi
 
Adaptation of Single-user Multi-touch Components to Support Synchronous Mobi...
Adaptation of Single-user Multi-touch Components to Support Synchronous Mobi...Adaptation of Single-user Multi-touch Components to Support Synchronous Mobi...
Adaptation of Single-user Multi-touch Components to Support Synchronous Mobi...pichiliani
 
[Whitepaper] an overview of ibm mobile first platform
[Whitepaper] an overview of ibm mobile first platform[Whitepaper] an overview of ibm mobile first platform
[Whitepaper] an overview of ibm mobile first platformgule mariam
 
Software and software engineering basics by ram k paliwal
Software and software engineering basics by ram k paliwalSoftware and software engineering basics by ram k paliwal
Software and software engineering basics by ram k paliwalRam Paliwal
 
Ch17-Software Engineering 9
Ch17-Software Engineering 9Ch17-Software Engineering 9
Ch17-Software Engineering 9Ian Sommerville
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process ModelsAhmed Alageed
 
DevOps Practices in a Nutshell
DevOps Practices in a NutshellDevOps Practices in a Nutshell
DevOps Practices in a NutshellFibonalabs
 
SWE-401 - 2. Software Development life cycle (SDLC)
SWE-401 - 2. Software Development life cycle (SDLC)SWE-401 - 2. Software Development life cycle (SDLC)
SWE-401 - 2. Software Development life cycle (SDLC)ghayour abbas
 
How Virtual Compilation Transforms Static Code Analysis
How Virtual Compilation Transforms Static Code AnalysisHow Virtual Compilation Transforms Static Code Analysis
How Virtual Compilation Transforms Static Code AnalysisCheckmarx
 
Sdd Maintenance Of Software Solutions
Sdd Maintenance Of Software SolutionsSdd Maintenance Of Software Solutions
Sdd Maintenance Of Software Solutionsgavhays
 
EMPIRICALLY VALIDATED SIMPLICITY EVALUATION MODEL FOR OBJECT ORIENTED SOFTWARE
EMPIRICALLY VALIDATED SIMPLICITY EVALUATION MODEL FOR OBJECT ORIENTED SOFTWAREEMPIRICALLY VALIDATED SIMPLICITY EVALUATION MODEL FOR OBJECT ORIENTED SOFTWARE
EMPIRICALLY VALIDATED SIMPLICITY EVALUATION MODEL FOR OBJECT ORIENTED SOFTWAREijseajournal
 

What's hot (20)

Component-based Software Engineering
Component-based Software EngineeringComponent-based Software Engineering
Component-based Software Engineering
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
Component Based Software Development
Component Based Software DevelopmentComponent Based Software Development
Component Based Software Development
 
Component Based Testing Using Finite Automata
Component Based Testing Using Finite AutomataComponent Based Testing Using Finite Automata
Component Based Testing Using Finite Automata
 
The benefits of software reuse
The benefits of software reuseThe benefits of software reuse
The benefits of software reuse
 
Shivani_Sethi__Resume
Shivani_Sethi__ResumeShivani_Sethi__Resume
Shivani_Sethi__Resume
 
Adaptation of Single-user Multi-touch Components to Support Synchronous Mobi...
Adaptation of Single-user Multi-touch Components to Support Synchronous Mobi...Adaptation of Single-user Multi-touch Components to Support Synchronous Mobi...
Adaptation of Single-user Multi-touch Components to Support Synchronous Mobi...
 
Your PaaS to DevOps
Your PaaS to DevOpsYour PaaS to DevOps
Your PaaS to DevOps
 
[Whitepaper] an overview of ibm mobile first platform
[Whitepaper] an overview of ibm mobile first platform[Whitepaper] an overview of ibm mobile first platform
[Whitepaper] an overview of ibm mobile first platform
 
Software and software engineering basics by ram k paliwal
Software and software engineering basics by ram k paliwalSoftware and software engineering basics by ram k paliwal
Software and software engineering basics by ram k paliwal
 
Ch17-Software Engineering 9
Ch17-Software Engineering 9Ch17-Software Engineering 9
Ch17-Software Engineering 9
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
DevOps Practices in a Nutshell
DevOps Practices in a NutshellDevOps Practices in a Nutshell
DevOps Practices in a Nutshell
 
SWE-401 - 2. Software Development life cycle (SDLC)
SWE-401 - 2. Software Development life cycle (SDLC)SWE-401 - 2. Software Development life cycle (SDLC)
SWE-401 - 2. Software Development life cycle (SDLC)
 
How Virtual Compilation Transforms Static Code Analysis
How Virtual Compilation Transforms Static Code AnalysisHow Virtual Compilation Transforms Static Code Analysis
How Virtual Compilation Transforms Static Code Analysis
 
Software process
Software processSoftware process
Software process
 
Sdd Maintenance Of Software Solutions
Sdd Maintenance Of Software SolutionsSdd Maintenance Of Software Solutions
Sdd Maintenance Of Software Solutions
 
EMPIRICALLY VALIDATED SIMPLICITY EVALUATION MODEL FOR OBJECT ORIENTED SOFTWARE
EMPIRICALLY VALIDATED SIMPLICITY EVALUATION MODEL FOR OBJECT ORIENTED SOFTWAREEMPIRICALLY VALIDATED SIMPLICITY EVALUATION MODEL FOR OBJECT ORIENTED SOFTWARE
EMPIRICALLY VALIDATED SIMPLICITY EVALUATION MODEL FOR OBJECT ORIENTED SOFTWARE
 
Swe notes
Swe notesSwe notes
Swe notes
 
Bhavana Paul
Bhavana PaulBhavana Paul
Bhavana Paul
 

Viewers also liked

Pochoco
PochocoPochoco
Pochocogndlf
 
City University Food Thinkers
City University Food ThinkersCity University Food Thinkers
City University Food Thinkersjackthur
 
Gray routes Fall/Autumn Intern Requirements 2013
Gray routes Fall/Autumn Intern Requirements 2013Gray routes Fall/Autumn Intern Requirements 2013
Gray routes Fall/Autumn Intern Requirements 2013Soubhagya Sahoo
 
Greenwich Ateb Presentation 21 Oct 2008 Final
Greenwich Ateb Presentation 21 Oct 2008 FinalGreenwich Ateb Presentation 21 Oct 2008 Final
Greenwich Ateb Presentation 21 Oct 2008 Finalrcsmuk
 
FATE2013 Posthaus presentation -- Outdoor Vision Fest, Innovating Collaboration
FATE2013 Posthaus presentation -- Outdoor Vision Fest, Innovating CollaborationFATE2013 Posthaus presentation -- Outdoor Vision Fest, Innovating Collaboration
FATE2013 Posthaus presentation -- Outdoor Vision Fest, Innovating CollaborationTerry Borst
 
Terry Borst: Credits
Terry Borst: CreditsTerry Borst: Credits
Terry Borst: CreditsTerry Borst
 
Colorado Climate
Colorado ClimateColorado Climate
Colorado Climatextina44
 
A Solver Manager for energy systems planning within a Stochastic Optimization...
A Solver Manager for energy systems planning within a Stochastic Optimization...A Solver Manager for energy systems planning within a Stochastic Optimization...
A Solver Manager for energy systems planning within a Stochastic Optimization...Emilio L. Cano
 
Workflow Foundation
Workflow FoundationWorkflow Foundation
Workflow FoundationDavid Giard
 
Gang announcements 2010 07
Gang announcements 2010 07Gang announcements 2010 07
Gang announcements 2010 07David Giard
 
GANG Announcements March 2010
GANG Announcements March 2010GANG Announcements March 2010
GANG Announcements March 2010David Giard
 
Gang announcements 2010 11
Gang announcements 2010 11Gang announcements 2010 11
Gang announcements 2010 11David Giard
 
Foresites hoardings with map (2)
Foresites hoardings with map (2)Foresites hoardings with map (2)
Foresites hoardings with map (2)Mohd Hussain
 

Viewers also liked (20)

Scrapbook - Les Ségur
Scrapbook - Les SégurScrapbook - Les Ségur
Scrapbook - Les Ségur
 
Criterios
CriteriosCriterios
Criterios
 
Pochoco
PochocoPochoco
Pochoco
 
Web 3.0
Web 3.0Web 3.0
Web 3.0
 
IntelliKeys USB
IntelliKeys USBIntelliKeys USB
IntelliKeys USB
 
City University Food Thinkers
City University Food ThinkersCity University Food Thinkers
City University Food Thinkers
 
JJMBSIDJournals
JJMBSIDJournalsJJMBSIDJournals
JJMBSIDJournals
 
Gray routes Fall/Autumn Intern Requirements 2013
Gray routes Fall/Autumn Intern Requirements 2013Gray routes Fall/Autumn Intern Requirements 2013
Gray routes Fall/Autumn Intern Requirements 2013
 
Greenwich Ateb Presentation 21 Oct 2008 Final
Greenwich Ateb Presentation 21 Oct 2008 FinalGreenwich Ateb Presentation 21 Oct 2008 Final
Greenwich Ateb Presentation 21 Oct 2008 Final
 
Sist distribucion
Sist distribucionSist distribucion
Sist distribucion
 
FATE2013 Posthaus presentation -- Outdoor Vision Fest, Innovating Collaboration
FATE2013 Posthaus presentation -- Outdoor Vision Fest, Innovating CollaborationFATE2013 Posthaus presentation -- Outdoor Vision Fest, Innovating Collaboration
FATE2013 Posthaus presentation -- Outdoor Vision Fest, Innovating Collaboration
 
Cell Parts
Cell PartsCell Parts
Cell Parts
 
Terry Borst: Credits
Terry Borst: CreditsTerry Borst: Credits
Terry Borst: Credits
 
Colorado Climate
Colorado ClimateColorado Climate
Colorado Climate
 
A Solver Manager for energy systems planning within a Stochastic Optimization...
A Solver Manager for energy systems planning within a Stochastic Optimization...A Solver Manager for energy systems planning within a Stochastic Optimization...
A Solver Manager for energy systems planning within a Stochastic Optimization...
 
Workflow Foundation
Workflow FoundationWorkflow Foundation
Workflow Foundation
 
Gang announcements 2010 07
Gang announcements 2010 07Gang announcements 2010 07
Gang announcements 2010 07
 
GANG Announcements March 2010
GANG Announcements March 2010GANG Announcements March 2010
GANG Announcements March 2010
 
Gang announcements 2010 11
Gang announcements 2010 11Gang announcements 2010 11
Gang announcements 2010 11
 
Foresites hoardings with map (2)
Foresites hoardings with map (2)Foresites hoardings with map (2)
Foresites hoardings with map (2)
 

Similar to Managed Extensibility Framework 2010 01

Introduction to ASP.NET MVC
Introduction to ASP.NET MVCIntroduction to ASP.NET MVC
Introduction to ASP.NET MVCJulia Vi
 
Managed Extensibility Framework or Effective Development of Scalable Applicat...
Managed Extensibility Framework or Effective Development of Scalable Applicat...Managed Extensibility Framework or Effective Development of Scalable Applicat...
Managed Extensibility Framework or Effective Development of Scalable Applicat...SoftServe
 
Modern Microservices Architecture with Docker
Modern Microservices Architecture with DockerModern Microservices Architecture with Docker
Modern Microservices Architecture with DockerEran Stiller
 
Gk1051 001 j2-ee_arch_tt425v1.1
Gk1051 001 j2-ee_arch_tt425v1.1Gk1051 001 j2-ee_arch_tt425v1.1
Gk1051 001 j2-ee_arch_tt425v1.1vciampa
 
Coolgen Shkehar
Coolgen ShkeharCoolgen Shkehar
Coolgen Shkeharshekhar619
 
"Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai...
"Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai..."Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai...
"Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai...Fwdays
 
What’s new in Rational collaborative lifecycle management 2011?
What’s new in Rational collaborative lifecycle management 2011?What’s new in Rational collaborative lifecycle management 2011?
What’s new in Rational collaborative lifecycle management 2011?IBM Danmark
 
Extensibility in application
Extensibility in applicationExtensibility in application
Extensibility in applicationAbhishek Sur
 
UrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slidesUrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slidesIBM Rational software
 
Plugin architecture (Extensible Application Architecture)
Plugin architecture (Extensible Application Architecture)Plugin architecture (Extensible Application Architecture)
Plugin architecture (Extensible Application Architecture)Chinmoy Mohanty
 
J2EEPlatformsandMicrosoft007
J2EEPlatformsandMicrosoft007J2EEPlatformsandMicrosoft007
J2EEPlatformsandMicrosoft007Jay van Zyl
 
Mdd Lcds
Mdd LcdsMdd Lcds
Mdd Lcdsravinxg
 
The necessity of a lead person to monitor development stages of the DevOps pi...
The necessity of a lead person to monitor development stages of the DevOps pi...The necessity of a lead person to monitor development stages of the DevOps pi...
The necessity of a lead person to monitor development stages of the DevOps pi...nooriasukmaningtyas
 
Extending the Enterprise with MEF
Extending the Enterprise with MEFExtending the Enterprise with MEF
Extending the Enterprise with MEFBrian Ritchie
 
Best practices for creating modular Web applications
Best practices for creating modular Web applicationsBest practices for creating modular Web applications
Best practices for creating modular Web applicationspeychevi
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperKarthik Reddy
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperKarthik Reddy
 

Similar to Managed Extensibility Framework 2010 01 (20)

Introduction to ASP.NET MVC
Introduction to ASP.NET MVCIntroduction to ASP.NET MVC
Introduction to ASP.NET MVC
 
Managed Extensibility Framework or Effective Development of Scalable Applicat...
Managed Extensibility Framework or Effective Development of Scalable Applicat...Managed Extensibility Framework or Effective Development of Scalable Applicat...
Managed Extensibility Framework or Effective Development of Scalable Applicat...
 
Managed Extensibility Framework
Managed Extensibility FrameworkManaged Extensibility Framework
Managed Extensibility Framework
 
Modern Microservices Architecture with Docker
Modern Microservices Architecture with DockerModern Microservices Architecture with Docker
Modern Microservices Architecture with Docker
 
Gk1051 001 j2-ee_arch_tt425v1.1
Gk1051 001 j2-ee_arch_tt425v1.1Gk1051 001 j2-ee_arch_tt425v1.1
Gk1051 001 j2-ee_arch_tt425v1.1
 
Coolgen Shkehar
Coolgen ShkeharCoolgen Shkehar
Coolgen Shkehar
 
"Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai...
"Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai..."Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai...
"Micro-frontends: Scalable and Modular Frontend in Parimatch Tech", Kyrylo Ai...
 
What’s new in Rational collaborative lifecycle management 2011?
What’s new in Rational collaborative lifecycle management 2011?What’s new in Rational collaborative lifecycle management 2011?
What’s new in Rational collaborative lifecycle management 2011?
 
Overview
OverviewOverview
Overview
 
Extensibility in application
Extensibility in applicationExtensibility in application
Extensibility in application
 
UrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slidesUrbanCode Deploy course and product overview slides
UrbanCode Deploy course and product overview slides
 
Mdd lcds
Mdd lcdsMdd lcds
Mdd lcds
 
Plugin architecture (Extensible Application Architecture)
Plugin architecture (Extensible Application Architecture)Plugin architecture (Extensible Application Architecture)
Plugin architecture (Extensible Application Architecture)
 
J2EEPlatformsandMicrosoft007
J2EEPlatformsandMicrosoft007J2EEPlatformsandMicrosoft007
J2EEPlatformsandMicrosoft007
 
Mdd Lcds
Mdd LcdsMdd Lcds
Mdd Lcds
 
The necessity of a lead person to monitor development stages of the DevOps pi...
The necessity of a lead person to monitor development stages of the DevOps pi...The necessity of a lead person to monitor development stages of the DevOps pi...
The necessity of a lead person to monitor development stages of the DevOps pi...
 
Extending the Enterprise with MEF
Extending the Enterprise with MEFExtending the Enterprise with MEF
Extending the Enterprise with MEF
 
Best practices for creating modular Web applications
Best practices for creating modular Web applicationsBest practices for creating modular Web applications
Best practices for creating modular Web applications
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net Developer
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net Developer
 

More from David Giard

Data Visualization - CodeMash 2022
Data Visualization - CodeMash 2022Data Visualization - CodeMash 2022
Data Visualization - CodeMash 2022David Giard
 
Azure data factory
Azure data factoryAzure data factory
Azure data factoryDavid Giard
 
University of Texas lecture: Data Science Tools in Microsoft Azure
University of Texas lecture: Data Science Tools in Microsoft AzureUniversity of Texas lecture: Data Science Tools in Microsoft Azure
University of Texas lecture: Data Science Tools in Microsoft AzureDavid Giard
 
University of Texas, Data Science, March 29, 2018
University of Texas, Data Science, March 29, 2018University of Texas, Data Science, March 29, 2018
University of Texas, Data Science, March 29, 2018David Giard
 
Intro to cloud and azure
Intro to cloud and azureIntro to cloud and azure
Intro to cloud and azureDavid Giard
 
Azure and deep learning
Azure and deep learningAzure and deep learning
Azure and deep learningDavid Giard
 
Azure and Deep Learning
Azure and Deep LearningAzure and Deep Learning
Azure and Deep LearningDavid Giard
 
Cloud and azure and rock and roll
Cloud and azure and rock and rollCloud and azure and rock and roll
Cloud and azure and rock and rollDavid Giard
 
Own your own career advice from a veteran consultant
Own your own career   advice from a veteran consultantOwn your own career   advice from a veteran consultant
Own your own career advice from a veteran consultantDavid Giard
 
You and Your Tech Community
You and Your Tech CommunityYou and Your Tech Community
You and Your Tech CommunityDavid Giard
 
Microsoft Azure IoT overview
Microsoft Azure IoT overviewMicrosoft Azure IoT overview
Microsoft Azure IoT overviewDavid Giard
 
Cloud and azure and rock and roll
Cloud and azure and rock and rollCloud and azure and rock and roll
Cloud and azure and rock and rollDavid Giard
 
Big Data on azure
Big Data on azureBig Data on azure
Big Data on azureDavid Giard
 
Microsoft azure without microsoft
Microsoft azure without microsoftMicrosoft azure without microsoft
Microsoft azure without microsoftDavid Giard
 
Azure mobile apps
Azure mobile appsAzure mobile apps
Azure mobile appsDavid Giard
 
Building a TV show with Angular, Bootstrap, and Web Services
Building a TV show with Angular, Bootstrap, and Web ServicesBuilding a TV show with Angular, Bootstrap, and Web Services
Building a TV show with Angular, Bootstrap, and Web ServicesDavid Giard
 
Effective Data Visualization
Effective Data VisualizationEffective Data Visualization
Effective Data VisualizationDavid Giard
 
Angular2 and TypeScript
Angular2 and TypeScriptAngular2 and TypeScript
Angular2 and TypeScriptDavid Giard
 

More from David Giard (20)

Data Visualization - CodeMash 2022
Data Visualization - CodeMash 2022Data Visualization - CodeMash 2022
Data Visualization - CodeMash 2022
 
Azure data factory
Azure data factoryAzure data factory
Azure data factory
 
Azure functions
Azure functionsAzure functions
Azure functions
 
University of Texas lecture: Data Science Tools in Microsoft Azure
University of Texas lecture: Data Science Tools in Microsoft AzureUniversity of Texas lecture: Data Science Tools in Microsoft Azure
University of Texas lecture: Data Science Tools in Microsoft Azure
 
University of Texas, Data Science, March 29, 2018
University of Texas, Data Science, March 29, 2018University of Texas, Data Science, March 29, 2018
University of Texas, Data Science, March 29, 2018
 
Intro to cloud and azure
Intro to cloud and azureIntro to cloud and azure
Intro to cloud and azure
 
Azure and deep learning
Azure and deep learningAzure and deep learning
Azure and deep learning
 
Azure and Deep Learning
Azure and Deep LearningAzure and Deep Learning
Azure and Deep Learning
 
Custom vision
Custom visionCustom vision
Custom vision
 
Cloud and azure and rock and roll
Cloud and azure and rock and rollCloud and azure and rock and roll
Cloud and azure and rock and roll
 
Own your own career advice from a veteran consultant
Own your own career   advice from a veteran consultantOwn your own career   advice from a veteran consultant
Own your own career advice from a veteran consultant
 
You and Your Tech Community
You and Your Tech CommunityYou and Your Tech Community
You and Your Tech Community
 
Microsoft Azure IoT overview
Microsoft Azure IoT overviewMicrosoft Azure IoT overview
Microsoft Azure IoT overview
 
Cloud and azure and rock and roll
Cloud and azure and rock and rollCloud and azure and rock and roll
Cloud and azure and rock and roll
 
Big Data on azure
Big Data on azureBig Data on azure
Big Data on azure
 
Microsoft azure without microsoft
Microsoft azure without microsoftMicrosoft azure without microsoft
Microsoft azure without microsoft
 
Azure mobile apps
Azure mobile appsAzure mobile apps
Azure mobile apps
 
Building a TV show with Angular, Bootstrap, and Web Services
Building a TV show with Angular, Bootstrap, and Web ServicesBuilding a TV show with Angular, Bootstrap, and Web Services
Building a TV show with Angular, Bootstrap, and Web Services
 
Effective Data Visualization
Effective Data VisualizationEffective Data Visualization
Effective Data Visualization
 
Angular2 and TypeScript
Angular2 and TypeScriptAngular2 and TypeScript
Angular2 and TypeScript
 

Recently uploaded

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Recently uploaded (20)

Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

Managed Extensibility Framework 2010 01

  • 1. David Giard MCTS, MCSD, MCSE, MCDBA Principal Consultant, Sogeti www.DavidGiard.com DavidGiard@DavidGiard.com
  • 3. Compile and Deploy Tight Coupling DLL DLL EXE
  • 4. MEF Loose Coupling with mef Compile and Deploy DLL DLL EXE DLL Contract Contract Contract Contract
  • 5. Managed Extensibility Framework Applications consists of loosely-coupled components that are discovered and composed at runtime
  • 6. Advantages of mef Loose Coupling Swap Classes at Runtime No Recompile or Redeploy Single Plug-In Architecture
  • 7. MEF Usage Scenarios Empower developers to extend your application without modifying it Provide extra modules to your application, as needed Use MEF as an platform ecosystem to manage all parts of your application
  • 8. Demo G/L Modules for Accounting app A/R MEFApp (Accounting) GenSetup A/P Export
  • 9. Existing Extensibility in .Net Visual Studio Add-Ins Microsoft Tools for Office Rules Engines WCF Interfaces Reflection IOC / Dependency Injection
  • 10. Get Started MEF.CodePlex.com Download and unzip MEF_Beta_2.zip Zip file contains DLLs Samples Source Code
  • 11. Developer Steps Set Reference to System.ComponentModel.Composition.dll Contract Import Export Catalogs Composition Import Contracts Export
  • 12. MEF Contracts [Import(“Contract1”)] String SomeThing {get; set;} [Export(“Contract1”)] Public string SpecialThing{ Get {return “A Value”}; } “A Value”
  • 13. MEF Contracts [Import(“Contract1”)] String SomeThing {get; set;} [Export(“Contract1”)] Public string MoreSpecialThing{ Get {return “A Different Value”}; } “A Different Value”
  • 14. MEF Interface Contracts [Import(typeof(IFoo))] IFooSomeFoo {get; set;} [Export(typeof(IFoo))] public Foo: IFoo{ … } new Foo()
  • 15. MEF Interface Contracts [Export(typeof(IFoo))] public Foo1: IFoo{ … } [ImportMany(typeof(IFoo))] List<IFoo> BunchOfFoos{get; set;} new Foo1() [Export(typeof(IFoo))] public Foo2: IFoo{ … } new Foo2()
  • 16. Composition varcatalog1 = newDirectoryCatalog(@"c:EFmports"); var container = newCompositionContainer catalog1); container.ComposeParts(this); Catalogs TypeCatalog AssemblyCatalog DirectoryCatalog AggregateCatalog PackageCatalog (Silverlight toolkit)
  • 18. MEF vs Dependency Injection
  • 19. rESOURCES http://MEF.codeplex.com http://www.davidgiard.com http://msmvps.com/blogs/kathleen http://blogs.msdn.com/gblock http://tinyurl.com/TaultyMEFSilverlightVideos NPlus1.org David Giard, MCTS, MCSD, MCSE, MCDBA www.DavidGiard.com DavidGiard@DavidGiard.com
  • 20. User Groups Great Lakes Area .Net User Group Southfield, MI migang.org Greater Lansing .Net User Group East Lansing, MI glugnet.org
  • 21. Dave’s Thoughts DavidGiard.com TechnologyAndFriends.com DavidGiard@DavidGiard.com

Editor's Notes

  1. Photo by Andres Rueda: http://www.flickr.com/photos/andresrueda/2983149263/ Creative Common, Attribution-No Derivative