2024: Domino Containers - The Next Step. News from the Domino Container commu...
When MEF meets Silverlight
1. When MEF meets Silverlight AmrElsehemy amr.elsehemy@me.com 1
2. Speaker TA at Faculty of Information and Computer Science Ain Shams University Senior Software Engineer at ITWorx MCSD, MCPD + more. 2
3. What's MEF? The Managed Extensibility Framework “The Managed Extensibility Framework (MEF) is a new library in .NET 4 / Silverlight 4 for building applications that can be incrementally extended” – mef team “An extensible framework for composing applications from a set of loosely-couple parts discovered and evolving at run-time” – mtaulty 3
4. WhywasMEF built? 4 I need A Put the D Can I have C F E F B A App C G D Add B G Then get me E
5. Why MEF For customers For you and your team Always there, always ready In the framework! 5
14. Export it - Metadata 14 [ExportMetadata("Position", ThingPosition.Left)] [Export(typeof(IThing))] publicpartialclassThing { } Put me in the left IThing Export
15. Customize it – Custom exports 15 [ThingExport(Position = ThingPosition.Left)] publicclassThing {} Put me in the left IThing Export 15
19. Recomopose- DeploymentCatalog Recomposition is key in Silverlight apps Initial download, small in size. Download more functionality. A special Silverlight catalog DeploymentCatalog. Trace changes with IPartImportsSatisfiedNotification 19
Senior Software at ITWorxTeaching Assistant and pursing Masters at FCISHaving around 17 MS certsHave a blog at
1- Create the app (SL4)2- Create the UI3- Import a Widget4- Export a Widget5- Compose the container.
1- Add a second widget2- Introduce ImportingMany3- Show Lazy4- ExportMetadata5- Custom exports
- Say about the choices (Import/Export combination)- How MEF decides to match Export:ContractNameSharedMetadataContractNameCardinalitySharedRecomposableMetadata
Container , that has some catalogs which are places where MEF asks how to find matchesAdd an assembly catalog, built in catalog
1- Refactor Things.Extensions2- Make the Allow Recomposible
Not just support features extensibilty, but also as a silverlight application everytimexaps are downloaded you try to cut off download size