Home > Store > Programming
Fundamentals of the Managed Extensibility Framework (MEF): Extensible Applications in .NET (Video Training), (Downloadable Video)
- By Jeremy Likness
- Published Sep 2, 2011 by Addison-Wesley Professional. Part of the LiveLessons series.
- Copyright 2012
- Edition: 1st
- Downloadable Video
- ISBN-10: 0-321-78702-1
- ISBN-13: 978-0-321-78702-6
Register your product to gain access to bonus material or receive a coupon.
Learn how to leverage the Managed Extensibility Framework, part of the .NET 4.0 framework, to solve common problems encountered when developing enterprise applications. These include discovery for separation of concerns, metadata for filtering and sorting implementations, and extensibility for highly modular applications. You will not only learn how these concepts can be coded and applied, but also how they have been successfully used in existing applications to provide reliable, scalable solutions. Viewers will also learn how to use MEF’s Silverlight-specific extensions to build modular Silverlight applications “out of the box.”
Downloads
Download the code samples for all the projects
Download LifeManagementSilverlightSln.zip
Download LifetimeManagementSln.zip
Download LoggerImplementationSln.zip
Download MyFirstMEFSln-Discovery.zip
Download PluginMetadataSln.zip
Download SilverlightMEFSln.zip
Related Articles
Silverlight Best Practices: Asynchronous Programming
Table of Contents
1. Introducing MEF: The Managed Extensibility Framework
a. History of MEF (Visual Studio 2010)
b. Areas that MEF Addresses
i. Extensibility
ii. Discovery
iii. Metadata
c. Availability of MEF –
i. .NET 3.5 and Silverlight 3 via CodePlex
ii. .NET 4.0 and Silverlight 4/5 as part of the core framework
2. Writing Your First MEF Application
a. Adding the MEF references
b. Introducing the Import tag
c. Multiple imports with ImportMany
d. Introducing the Export tag
e. Your first catalog
f. Putting it all together: the container
g. Add a plugin
3. Understanding Parts, Catalogs, and Containers
a. Parts are the key to understand MEF
i. The debugger –
ii. Parts contain two-piece contracts
1. The type
2. The contract name
iii. Imports drive requirements (demand)
iv. Exports drive implementations (supply)
b. Catalogs help MEF discover parts
i. Assembly Catalog
ii. Directory Catalog
iii. Type Catalog
iv. Aggregate Catalog
c. The container gathers catalogs and parts and then glues it all together
i. Composition
ii. Re-composition
iii. Stable composition and rejection
iv. Troubleshooting
4. Using MEF for Discovery
a. Background concepts
i. Dependency Injection
ii. Inversion of Control
b. Contracts for separation
c. Defining the contract
i. Import
ii. ImportMany
d. Defining the implementation with Export
e. Non-attributed exports: ComposeExportedValue
f. Lifetime management
i. Import policies
ii. Export policies
iii. ExportFactory (Silverlight)
5. Extensibility with MEF
a. The concept of a plug-in
b. Advanced imports
i. AllowDefault
ii. AllowRecomposition
c. Discovering extensions
i. DirectoryCatalog
ii. DeploymentCatalog (Silverlight)
d. Handling recomposition
i. IPartImportsSatisfiedNotification
ii. OnImportsSatisfied
e. How collections are recomposed
i. IEnumerable
ii. IList
iii. Managing changes
f. CompositionBatch
g. Conclusion
6. Metadata and MEF
a. Discovery without metadata
i. Import
ii. Export
b. Extensions without metadata
i. ImportMany
ii. Multiple exports
c. Defining metadata
i. Weakly typed metadata
ii. Strongly typed metadata
1. Custom attribute
2. Interface
d. Filtering metadata
i. Hello, Lazy
ii. Reading metadata from the collection
1. Weakly typed
2. Strongly typed
e. Common uses for metadata
i. Limitations
ii. Capabilities
iii. Information
7. MEF in Silverlight Applications
a. A traditional MEF scenario
b. The first complication: XAML
c. The solution: CompositionInitializer
i. Where to compose
ii. Restrictions
d. Controlling the container
i. CompositionHost
e. The DeploymentCatalog
i. Initializing the default catalog
ii. Using AggregateCatalog for multiple deployments
iii. Dynamic XAP files
f. Responding to dynamic XAP loads
i. From the catalog
ii. With recomposition
8. Conclusion: MEF Recipes
a. The three problems MEF solves
i. Discovery
ii. Extensibility
iii. Metadata
b. Inversion of Control
c. Lifetime management
d. Configuration
e. Factories
f. Pipelines
g. Plugins
h. Capability-based imports
i. Modular applications
DRM-Free Video Downloads. Purchase and immediately download individual lessons from this video. Make your lesson selections below and click on the Buy button.
Videos can be viewed on: Windows 8, Windows XP, Vista, 7, and all versions of Macintosh OS X including the iPad, and other platforms that support the industry standard h.264 video codec.
Actual product comes full screen and in high resolution.
Actual product comes full screen and in high resolution.
Actual product comes full screen and in high resolution.
Actual product comes full screen and in high resolution.
Actual product comes full screen and in high resolution.
Actual product comes full screen and in high resolution.
Actual product comes full screen and in high resolution.
Actual product comes full screen and in high resolution.
Downloadable Video
$69.99
$55.99
Accessible from your Account page after purchase. Requires the free QuickTime Player software.
Videos can be viewed on: Windows 8, Windows XP, Vista, 7, and all versions of Macintosh OS X including the iPad, and other platforms that support the industry standard h.264 video codec.
Get access to thousands of books and training videos about technology, professional development and digital media from more than 40 leading publishers, including Addison-Wesley, Prentice Hall, Cisco Press, IBM Press, O'Reilly Media, Wrox, Apress, and many more. If you continue your subscription after your 30-day trial, you can receive 30% off a monthly subscription to the Safari Library for up to 12 months. That's a total savings of $199.


