extensibility in application

19
Extensibility in Application using MEF By Abhishek Sur Website: www.abhisheksur.com Email : [email protected] Twitter : @abhi2434

Upload: abhishek-sur

Post on 10-May-2015

6.593 views

Category:

Technology


2 download

DESCRIPTION

Extensibility with .NET 4.0 using MEF.

TRANSCRIPT

Page 1: Extensibility in application

Extensibility in Applicationusing MEFBy Abhishek Sur

Website: www.abhisheksur.comEmail : [email protected]

Twitter : @abhi2434

Page 2: Extensibility in application

Agenda

Adding MEF into it

Developing an extensible application

What is Extensibility?

Page 3: Extensibility in application

What is Extensibility

Page 4: Extensibility in application

Extensiblity

Extensibility is an ability to design an application in such a manner so that 3rd party vendor can come along and customize it.

Extensibility does not require the application to be redeployed.

Extensible applications are flexible on client needs.

Examples : Microsoft Office, Skype, World Warcraft etc.

Page 5: Extensibility in application

Bertrand Meyer’s Open Close Principle

Page 6: Extensibility in application

Benefits of Extensible application Reusability Modularizing Loose Coupling Greater Momentum Support for 3rd party vendors Feeling of Ownership

Page 7: Extensibility in application

Problems of Extensible application Development process is more complex. Architecture should be thought before

actual development begins. Security More error prone

Page 8: Extensibility in application

Extensibility in your Application

Demo

Page 9: Extensibility in application

Managed Extensibility

Framework

Page 10: Extensibility in application

How to MEF

MEF

Compose It

Import It

Export It

Page 11: Extensibility in application

Export

Page 12: Extensibility in application

Import

Page 13: Extensibility in application

Compose

Page 14: Extensibility in application

MEF Architecture

Catalog

CustomExportProviderCatalogExportProvider AggregatingExportProvider

CompositionContainer

Part

Export Import

Part

Export Import

Part

Export Import

Page 15: Extensibility in application

MEF

Catalog◦ Discovers and maintain extensions

CompositionContainer◦ Coordinate creations and satisfy dependencies

ComposablePart◦ Are Imports and Exports that are composable to

the Container Support for LAZY Support for Dynamic Recomposition

Page 16: Extensibility in application

Adding MEF to the application

Demo

Page 17: Extensibility in application

Finally

Visual Studio is rich with MEF components They export functionality that your code

might need. They import functionality that your code

might offer. Your extension can export:

◦ IWPFTextViewMarginProvider◦ ITaggerProvider◦ IMouseProcessorProvider◦ ICompletionSourceProvider◦ There are lots more…….

Page 18: Extensibility in application

References

MEF Article◦ http://tinyurl.com/MEFWORLD

MEF Source◦ http://tinyurl.com/MEFSOURCE

MEF Guide◦ http://tinyurl.com/mefguide

MEF Blogs◦ http://tinyurl.com/mefBlogs

MEF Discussions◦ http://tinyurl.com/mefDiscussions

Page 19: Extensibility in application

Thank you.

Twitter : @abhi2434

Email: [email protected]

www.abhisheksur.com

Abhishek Sur, MVP (Client App Dev)