0
Change the Rules


Silverlight 4 – A Guided Tour of MEF
Mike Taulty, Microsoft UK
mtaulty@microsoft.com
mtaulty.com
@mtaul...
MEF – What is it? How and when do I get it?
 • the Managed Extensibility Framework
   – an extensible framework for compos...
“scenario”




             AlbumArtProvider
Change the Rules




demo
using MEF in our scenario
MEF models composable parts
MEF composes parts




     Compose
which parts compose together?




     Contract
     Name
     Shared
     Metadata
                                Contra...
Change the Rules




demo
matching imports to exports
parts & part definitions




  • PartDefinition is a blueprint for a Part
     – similar to Object and Type in .NET
     –...
container draws parts from catalogs
or mix in pre-instantiated parts
Change the Rules




demo
the built-in catalogs*
(* one is missing, we’ll come back to it later )
things change - recomposition
recomposition is key for Silverlight



                                       MyApp.xap



                              ...
Change the Rules




demo
recomposition & DeploymentCatalog
( completing our story of built-in catalogs )
stable composition

reject parts with unsatisfied imports
Change the Rules




demo
stable composition
MEF and Model View ViewModel
 • Strong separation of concerns possible with
   Silverlight development
   – user interface...
Change the Rules




demo
MEF and MVVM
Change the Rules


Pointers to more advanced
topics
extensibility – catalogs & export providers
extensibility – programming models

 • Programming models         MEF Primitives
   in MEF are pluggable       ComposableP...
resources
 • Channel 9 Silverlight 4 MEF Screencasts
   – channel9.msdn.com/tags/learnMEFSL4
 • Glenn Block
   – blogs.msd...
thank you 




© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product nam...
Change the Rules


Silverlight 4 – A Guided Tour of MEF
Mike Taulty, Microsoft UK
mtaulty@microsoft.com
mtaulty.com
@mtaul...
Upcoming SlideShare
Loading in...5
×

Mike Taulty DevDays 2010 Silverlight MEF

1,338

Published on

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

  • Be the first to like this

No Downloads
Views
Total Views
1,338
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
30
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Mike Taulty DevDays 2010 Silverlight MEF"

  1. 1. Change the Rules Silverlight 4 – A Guided Tour of MEF Mike Taulty, Microsoft UK mtaulty@microsoft.com mtaulty.com @mtaulty
  2. 2. MEF – What is it? How and when do I get it? • the Managed Extensibility Framework – an extensible framework for composing applications from a set of loosely-coupled parts discovered and evolving at run-time • versions – .NET Framework shipping with Silverlight 4 – .NET Framework 4 shipping with VS 2010 – CodePlex version for Silverlight 3, .NET 3.5 Sp1
  3. 3. “scenario” AlbumArtProvider
  4. 4. Change the Rules demo using MEF in our scenario
  5. 5. MEF models composable parts
  6. 6. MEF composes parts Compose
  7. 7. which parts compose together? Contract Name Shared Metadata Contract Name Cardinality Shared Recomposable Metadata
  8. 8. Change the Rules demo matching imports to exports
  9. 9. parts & part definitions • PartDefinition is a blueprint for a Part – similar to Object and Type in .NET – but can have Part without PartDefinition
  10. 10. container draws parts from catalogs
  11. 11. or mix in pre-instantiated parts
  12. 12. Change the Rules demo the built-in catalogs* (* one is missing, we’ll come back to it later )
  13. 13. things change - recomposition
  14. 14. recomposition is key for Silverlight MyApp.xap Extras.xap
  15. 15. Change the Rules demo recomposition & DeploymentCatalog ( completing our story of built-in catalogs )
  16. 16. stable composition reject parts with unsatisfied imports
  17. 17. Change the Rules demo stable composition
  18. 18. MEF and Model View ViewModel • Strong separation of concerns possible with Silverlight development – user interface declared in XAML – loosely binds to data – functionality invoked by declarative commands • Encapsulated by the “MVVM” pattern binding commands
  19. 19. Change the Rules demo MEF and MVVM
  20. 20. Change the Rules Pointers to more advanced topics
  21. 21. extensibility – catalogs & export providers
  22. 22. extensibility – programming models • Programming models MEF Primitives in MEF are pluggable ComposablePartCatalog • [Attribute] is the ComposablePartDefinition built-in model • Custom models involve ComposablePart implementing some/all of MEF’s primitive classes ExportDefinition ImportDefinition
  23. 23. resources • Channel 9 Silverlight 4 MEF Screencasts – channel9.msdn.com/tags/learnMEFSL4 • Glenn Block – blogs.msdn.com/gblock • Nicholas Blumhardt – blogs.msdn.com/nblumhardt • MEF on CodePlex – mef.codeplex.com
  24. 24. thank you  © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  25. 25. Change the Rules Silverlight 4 – A Guided Tour of MEF Mike Taulty, Microsoft UK mtaulty@microsoft.com mtaulty.com @mtaulty
  1. A particular slide catching your eye?

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

×