Glenn Murcutt vs Renzo Piano. Dos maneras / Glenn Murcutt ...
Glenn Block Program Manager Microsoft Corporation TL33 TL49 Related sessions.
-
Upload
natasha-scrivens -
Category
Documents
-
view
223 -
download
0
Transcript of Glenn Block Program Manager Microsoft Corporation TL33 TL49 Related sessions.
A lap Around the Managed Extensibility Framework
Glenn Block Program Manager
Microsoft Corporation
TL33
TL49Related sessions
MEFMakes ExtensibilityFunFeasibleFlyFrupendousFastFlavorfulFabulous
The MEF Guild Team
Extensibility
Why Are There So Few Extensible Apps?
Developers Desire Extensibility
Extensibility ChallengesHard to write, hard to useNo standardHard To Achieve Extensibility2
http://www.flickr.com/photos/21507453@N08/2096004461/
We're Making It EasySystem.ComponentModel….Open and Easy to extendSimple To Implement
Managed Extensibility Framework
announcing
Common Extensibility ScenarioWindows and Menus
Application
Extension A
Extension B
Need a Toolwindow
Got a Toolwindow
Need Menus
Got aMenu
Need a MenuService
Got a MenuService
Hello MEF
Glenn BlockProgram ManagerMEF
demo
Common Extensibility ScenarioWindows and Menus with MEF
NeedGot
ImportExport
Extension A
Common Extensibility ScenarioWindows and Menus with MEF
Application
Extension B
Need Menus
Got Menus
Got a MenuService
Need a Toolwindow
Export MenuService
Import Menus
Export Menus
Need a MenuService
Import MenuService
Import Toolwindow
Got a Toolwindow
Export Toolwindow
Extension APart B
Common Extensibility ScenarioComposition with MEF
Application
Extension B
Part A
Part C
They're all parts!
Windows And Menus With MEF
public interface IToolWindow { }public interface IMenuService { } public interface IMenu { } public class Application{ [Import] public IEnumerable<IToolWindow> ToolWindows { get; set; } [Import] public IEnumerable<IMenu> Menus { get; set; }} [Export(typeof(IMenuService))]public class MenuService : IMenuService { }
Import Toolwindows
Import Menus
Export a Menu Service
Windows And Menus With MEF
[Export(typeof(IToolWindow))]public class SomeToolWindow : IToolWindow{ [Import] public IMenuService MenuService { get; set; }} [Export(typeof(IMenu))]public class SomeMenu : IMenu{}
Export a Toolwindow
Import a MenuService
Export a Menu
An Application Built Of Composable Parts
The MEF ABCs
First, The Composable Part
Part A
Parts Relate Through Contracts
ContractPart
BPart
A
Imports Are Contracts A Part Needs
Part B
Import
Import
Export
Export
Exports Are Contracts A Part Offers
Part B
The Container Is The Matchmaker
Container
More MEF Toys
http://www.flickr.com/photos/jenlightjenlight/58730309/sizes/o/
Catalog
Container Queries Catalogs
Container
Parts Can Load Lazily
Part B
Part A
Export<A>
ContainerContainer
Parts Can Have Different Lifetimes
Part A
Singleton
Part A Part A Part A
Factory
MEFMakes ExtensibilityFunFeasibleFlyFrupendousFastFlavorfulFabulous
Where Can I Get MEF Today?
MEF on Codeplex (including samples and full source!!!)http://tinyurl.com/MEFHome
Programming Guide:http://tinyurl.com/MEFGuide
Discussions: http://tinyurl.com/MEFDiscussions
Team Blogs: http://tinyurl.com/MEFBlogs
Email me: [email protected]
Where Can I Get MEF In The Future?
Evals & Recordings
Please fill
out your
evaluation for
this session at:
This session will be available as a recording at:
www.microsoftpdc.com
Please use the microphones provided
Q&A
© 2008 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.