Hlavní menu

Nástroje

UvodDoKomponent / MEF

View (print) - Edit page | Recent changes - Page history

Updated 24 September 2015, 15:10 by Eduard Chromik

UvodDoKomponent.MEF History

Show minor edits - Show changes to markup

24 September 2015, 15:10 by Eduard Chromik -
Changed lines 40-41 from:

Full MEF Architecture described here.

to:

MEF as seen on Fig. below, is divided into three main layers Container, Primitives and Attributed Programing Model. Each of these parts is described in Full MEF Architecture here.

27 March 2015, 13:56 by Eduard Chromik -
Changed lines 3-4 from:
to:
27 March 2015, 13:22 by Eduard Chromik -
Added lines 1-4:
27 March 2015, 13:14 by Eduard Chromik -
Changed lines 25-28 from:
1. Evil Wizard example - basic usage of MEF.
2. Catalogs example - more Catalog focused
3. Hello World example - External *Codeproject* site!
to:
1. Evil Wizard example - basic usage of MEF.
2. Catalogs example - more Catalog focused
3. Hello World example - External *Codeproject* site!
27 March 2015, 13:13 by Eduard Chromik -
Changed lines 1-3 from:

Theoretical section

1. Introduction

to:

Theoretical section

1. Introduction

Changed lines 9-49 from:
  • System.Compostion.* is a lightweight version of MEF, which has been optimized for static composition scenarios and provides faster compositions. It is also the only version of MEF that is as a portable class library and can be
to:
  • System.Compostion.* is a lightweight version of MEF, which has been optimized for static composition scenarios and provides faster compositions. It is also the only version of MEF that is as a portable class library and can be used on phone, store, desktop and web applications.

2. MEF model

Roughly speaking, MEF's core is comprised of a catalog and a CompositionContainer?. A catalog is responsible for discovering extensions and the container coordinates creation and satisfies dependencies.

  • Parts (i.e. Component) are the cornerstone of MEF. A composable Part offers up one or more Exports, and may also depend on one or more externally provided services or Imports. It is throught this relationship between what a part needs, and what a part can provide that the composition takes place. Service definition is done via Contracts (e.g. an Interface or predefined data type like string).
  • Containers perform the actual composition between parts by matching Exports with Imports, that is, service providers with service consumers.
  • Catalogs (i.e. Component Repository) are in charge of part discovery. Using different built-in catalogs, an application can find parts within a given assembly or a given folder at runtime. Containers use catalogs to find out which parts they can use during composition.
Longer description here (codeplex wiki).

3. MEF Examples

1. Evil Wizard example - basic usage of MEF.
2. Catalogs example - more Catalog focused
3. Hello World example - External *Codeproject* site!

4. MEF Architecture

Full MEF Architecture described here.

Fig: Different layers in the Managed Extensions Framework.

5. More about MEF

Are you interested to know more about MEF (e.g. "MEF vs standard IoC Container", "MEF Visualizer", "Why to use MEF", "More learing materials" etc.) click here .

6. Literature

  • Dependency Injection in .NET
  • Programming .NET Components, 2nd Edition
  • Pro .NET 1.1 Remoting, Reflection, and Threading

Practical section

Parking lot example writen in C# without using MEF ParkovistePlain. Implementation Attach:ParkingLot_Plain.zip

Parking lot example writen in C# using MEF Dependency Injection ParkovisteMEF. Implementation Attach:ParkingLot_MEF.zip

27 March 2015, 13:07 by Eduard Chromik -
Changed lines 1-3 from:

Theoretical section

1. Introduction

to:

Theoretical section

1. Introduction

Changed lines 9-48 from:
  • System.Compostion.* is a lightweight version of MEF, which has been optimized for static composition scenarios and provides faster compositions. It is also the only version of MEF that is as a portable class library and can be used on phone, store, desktop and web applications.

2. MEF model

Roughly speaking, MEF's core is comprised of a catalog and a CompositionContainer?. A catalog is responsible for discovering extensions and the container coordinates creation and satisfies dependencies.

  • Parts (i.e. Component) are the cornerstone of MEF. A composable Part offers up one or more Exports, and may also depend on one or more externally provided services or Imports. It is throught this relationship between what a part needs, and what a part can provide that the composition takes place. Service definition is done via Contracts (e.g. an Interface or predefined data type like string).
  • Containers perform the actual composition between parts by matching Exports with Imports, that is, service providers with service consumers.
  • Catalogs (i.e. Component Repository) are in charge of part discovery. Using different built-in catalogs, an application can find parts within a given assembly or a given folder at runtime. Containers use catalogs to find out which parts they can use during composition.
Longer description here (codeplex wiki).

3. MEF Examples

1. Evil Wizard example - basic usage of MEF.
2. Catalogs example - more Catalog focused
3. Hello World example - External *Codeproject* site!

4. MEF Architecture

Full MEF Architecture described here.

Fig: Different layers in the Managed Extensions Framework.

5. More about MEF

Are you interested to know more about MEF (e.g. "MEF vs standard IoC Container", "MEF Visualizer", "Why to use MEF", "More learing materials" etc.) click here .

Literature

  • Dependency Injection in .NET
  • Programming .NET Components, 2nd Edition
  • Pro .NET 1.1 Remoting, Reflection, and Threading

Practical section

Parking lot example writen in C# without using MEF ParkovistePlain. Implementation Attach:ParkingLot_Plain.zip

Parking lot example writen in C# using MEF Dependency Injection ParkovisteMEF. Implementation Attach:ParkingLot_MEF.zip

to:
  • System.Compostion.* is a lightweight version of MEF, which has been optimized for static composition scenarios and provides faster compositions. It is also the only version of MEF that is as a portable class library and can be
27 March 2015, 12:57 by Eduard Chromik -
Changed lines 25-28 from:
!!! 1. Evil Wizard example - basic usage of MEF.
h3. 2. Catalogs example - more Catalog focused
h3. 3. Hello World example - External *Codeproject* site!
to:
1. Evil Wizard example - basic usage of MEF.
2. Catalogs example - more Catalog focused
3. Hello World example - External *Codeproject* site!
27 March 2015, 12:56 by Eduard Chromik -
Changed line 25 from:
h3. 1. Evil Wizard example - basic usage of MEF.
to:
!!! 1. Evil Wizard example - basic usage of MEF.
27 March 2015, 12:56 by Eduard Chromik -
Changed lines 25-28 from:
h3. 1. Evil Wizard example - basic usage of MEF.
h3. 2. Catalogs example - more Catalog focused
h3. 3. Hello World example - External *Codeproject* site!
to:
h3. 1. Evil Wizard example - basic usage of MEF.
h3. 2. Catalogs example - more Catalog focused
h3. 3. Hello World example - External *Codeproject* site!
27 March 2015, 12:55 by Eduard Chromik -
Changed lines 25-28 from:

1. Evil Wizard example - basic usage of MEF.

2. Catalogs example - more Catalog focused

3. Hello World example - External *Codeproject* site!

to:
h3. 1. Evil Wizard example - basic usage of MEF.
h3. 2. Catalogs example - more Catalog focused
h3. 3. Hello World example - External *Codeproject* site!
27 March 2015, 12:54 by Eduard Chromik -
Added lines 1-2:

Theoretical section

27 March 2015, 12:54 by Eduard Chromik -
Changed lines 42-46 from:

Praktická část

Příklad parkoviště napsané v C# bez použití MEF ParkovistePlain a výsledná implementace Attach:ParkingLot_Plain.zip

Příklad parkoviště napsané v C# s použitím MEF ParkovisteMEF a výsledná implementace Attach:ParkingLot_MEF.zip

to:

Practical section

Parking lot example writen in C# without using MEF ParkovistePlain. Implementation Attach:ParkingLot_Plain.zip

Parking lot example writen in C# using MEF Dependency Injection ParkovisteMEF. Implementation Attach:ParkingLot_MEF.zip

06 March 2015, 15:05 by Eduard Chromik -
Changed lines 11-13 from:
  • Parts (i.e. Component) are the cornerstone of MEF. Parts known as Exports can provide services to other parts whilst parts known as Imports consume services from other parts. It is throught this relationship between what a part needs, and what a part can provide that the composition takes place. Service definition is done via Contracts (e.g. an Interface or predefined data type like string).
to:

Roughly speaking, MEF's core is comprised of a catalog and a CompositionContainer?. A catalog is responsible for discovering extensions and the container coordinates creation and satisfies dependencies.

  • Parts (i.e. Component) are the cornerstone of MEF. A composable Part offers up one or more Exports, and may also depend on one or more externally provided services or Imports. It is throught this relationship between what a part needs, and what a part can provide that the composition takes place. Service definition is done via Contracts (e.g. an Interface or predefined data type like string).
06 March 2015, 14:27 by Eduard Chromik -
Changed lines 13-14 from:
  • Catalogs (i.e. Component Repository) are in charge of part discovery. Using different built-in catalogs, an application can find parts within a given assembly or a given folder at runtime. Containers use catalogs to find out which parts they can use during composition.
to:
  • Catalogs (i.e. Component Repository) are in charge of part discovery. Using different built-in catalogs, an application can find parts within a given assembly or a given folder at runtime. Containers use catalogs to find out which parts they can use during composition.
06 March 2015, 14:27 by Eduard Chromik -
Changed lines 13-14 from:
  • Catalogs are in charge of part discovery. Using different built-in catalogs, an application can find parts within a given assembly or a given folder at runtime. Containers use catalogs to find out which parts they can use during composition.
to:
  • Catalogs (i.e. Component Repository) are in charge of part discovery. Using different built-in catalogs, an application can find parts within a given assembly or a given folder at runtime. Containers use catalogs to find out which parts they can use during composition.
06 March 2015, 14:25 by Eduard Chromik -
Changed lines 9-10 from:

2. How MEF works

to:

2. MEF model

27 February 2015, 14:48 by Eduard Chromik -
Changed line 44 from:

Příklad parkoviště napsané v C# s použitím MEF ParkovisteMEF a výsledná implementace Attach:ParkovisteMEF.zip Δ

to:

Příklad parkoviště napsané v C# s použitím MEF ParkovisteMEF a výsledná implementace Attach:ParkingLot_MEF.zip

27 February 2015, 14:46 by Eduard Chromik -
Changed lines 42-43 from:

Příklad parkoviště napsané v C# bez použití MEF ParkovistePlain a výsledná implementace Attach:ParkovistePlain.zip Δ

to:

Příklad parkoviště napsané v C# bez použití MEF ParkovistePlain a výsledná implementace Attach:ParkingLot_Plain.zip

27 February 2015, 14:43 by Eduard Chromik -
Added lines 39-44:

Praktická část

Příklad parkoviště napsané v C# bez použití MEF ParkovistePlain a výsledná implementace Attach:ParkovistePlain.zip Δ

Příklad parkoviště napsané v C# s použitím MEF ParkovisteMEF a výsledná implementace Attach:ParkovisteMEF.zip Δ

28 January 2015, 16:26 by Eduard Chromik -
Changed lines 2-3 from:

The Managed Extensibility Framework (MEF) is a composition layer for .NET that improves the flexibility, maintainability and testability of large applications. MEF can be used for third-party plugin extensibility, or it can bring the benefits of a loosely-coupled plugin-like architecture to regular applications (MEF support a plugin model).

to:

The Managed Extensibility Framework (MEF) is a composition layer for .NET that improves the flexibility, maintainability and testability of large applications. MEF can be used for third-party plugin extensibility, or it can bring the benefits of a loosely-coupled plugin-like architecture to regular applications (MEF support a Plugin Model).

28 January 2015, 16:25 by Eduard Chromik -
Changed lines 2-3 from:

The Managed Extensibility Framework (MEF) is a composition layer for .NET that improves the flexibility, maintainability and testability of large applications. MEF can be used for third-party plugin extensibility, or it can bring the benefits of a loosely-coupled plugin-like architecture to regular applications (support a plugin model).

to:

The Managed Extensibility Framework (MEF) is a composition layer for .NET that improves the flexibility, maintainability and testability of large applications. MEF can be used for third-party plugin extensibility, or it can bring the benefits of a loosely-coupled plugin-like architecture to regular applications (MEF support a plugin model).

28 January 2015, 16:25 by Eduard Chromik -
Changed lines 2-3 from:

The Managed Extensibility Framework (MEF) is a composition layer for .NET that improves the flexibility, maintainability and testability of large applications. MEF can be used for third-party plugin extensibility, or it can bring the benefits of a loosely-coupled plugin-like architecture to regular applications.

to:

The Managed Extensibility Framework (MEF) is a composition layer for .NET that improves the flexibility, maintainability and testability of large applications. MEF can be used for third-party plugin extensibility, or it can bring the benefits of a loosely-coupled plugin-like architecture to regular applications (support a plugin model).

28 January 2015, 16:13 by Eduard Chromik -
Changed line 11 from:
  • Parts (i.e. Component) are the cornerstone of MEF. Parts known as Exports can provide services to other parts whilst parts known as Imports consume services from other parts. It is throught this relationship between what a part needs, and what a part can provide that the composition takes place. Service definition is done via Contracts.
to:
  • Parts (i.e. Component) are the cornerstone of MEF. Parts known as Exports can provide services to other parts whilst parts known as Imports consume services from other parts. It is throught this relationship between what a part needs, and what a part can provide that the composition takes place. Service definition is done via Contracts (e.g. an Interface or predefined data type like string).
28 January 2015, 15:42 by Eduard Chromik -
Changed line 11 from:
  • Parts (i.e. component) are the cornerstone of MEF. Parts known as Exports can provide services to other parts whilst parts known as Imports consume services from other parts. It is throught this relationship between what a part needs, and what a part can provide that the composition takes place. Service definition is done via Contracts.
to:
  • Parts (i.e. Component) are the cornerstone of MEF. Parts known as Exports can provide services to other parts whilst parts known as Imports consume services from other parts. It is throught this relationship between what a part needs, and what a part can provide that the composition takes place. Service definition is done via Contracts.
28 January 2015, 15:42 by Eduard Chromik -
Changed line 11 from:
  • Parts are the cornerstone of MEF. Parts known as Exports can provide services to other parts whilst parts known as Imports consume services from other parts. It is throught this relationship between what a part needs, and what a part can provide that the composition takes place. Service definition is done via Contracts.
to:
  • Parts (i.e. component) are the cornerstone of MEF. Parts known as Exports can provide services to other parts whilst parts known as Imports consume services from other parts. It is throught this relationship between what a part needs, and what a part can provide that the composition takes place. Service definition is done via Contracts.
28 January 2015, 15:02 by Eduard Chromik -
Changed lines 17-18 from:
Longer description here (codeplex wiki).
to:
Longer description here (codeplex wiki).
28 January 2015, 15:02 by Eduard Chromik -
Changed lines 15-16 from:
to:
28 January 2015, 14:51 by Eduard Chromik -
Changed lines 33-34 from:

Are you interested to know more about MEF (e.g. "MEF vs standard IoC Container", "MEF Visualizer") click here .

to:

Are you interested to know more about MEF (e.g. "MEF vs standard IoC Container", "MEF Visualizer", "Why to use MEF", "More learing materials" etc.) click here .

28 January 2015, 14:35 by Eduard Chromik -
Changed lines 28-31 from:

Fig: Different layers in the Managed Extensions Framework.

to:
Fig: Different layers in the Managed Extensions Framework.
28 January 2015, 14:10 by Eduard Chromik -
Changed lines 33-59 from:

Are you interested to know more about MEF (i.e. "MEF vs standard IoC Container", "MEF Visualizer") click here .

6. Why to use MEF

10 reasons why to use MEF

7. Good explanations

Audio

  • Audio: MEF with Glenn Block IoC, DI vs MEF

Code

  • Code: Barbarian Meets MEF
  • Code: Glenn Block - Building Composable Apps in .NET 4 with the Managed Extensibility Framework Complete explanations of MEF capabilities
  • Code: Complete MEF Programming Guide

Video

  • Video: MEF Oleg Lvovitch and Kevin Ransom Introduction, MEF 2.0
  • Video: MEF Jan Steberl CZ Introduction MEF - CZ

Presentation

  • Presentation: Lecture by Nuno Cancelo
  • Presentation: Lecture by Mohamed Meligy
to:

Are you interested to know more about MEF (e.g. "MEF vs standard IoC Container", "MEF Visualizer") click here .

Deleted lines 38-53:

Interestiong links

  • Spring.NET & Attribute Driven Configuration
  • MEF Runtime Plugin Swapping

TODO

http://channel9.msdn.com/posts/NET-45-Oleg-Lvovitch-and-Kevin-Ransom-Managed-Extensibility-Framework-MEF-20 http://www.codeproject.com/Articles/376033/From-Zero-to-Proficient-with-MEF http://www.codeproject.com/Articles/37579/Managed-Extensibility-Framework-Part https://emcpadden.wordpress.com/2008/12/07/managed-extensibility-framework-and-others/

OSGI Spring Links

http://www.javaworld.com/article/2077837/java-se/hello--osgi--part-1--bundles-for-beginners.html http://www.javaworld.com/article/2077853/java-se/hello--osgi--part-2--introduction-to-spring-dynamic-modules.html#resources

28 January 2015, 14:06 by Eduard Chromik -
Changed lines 33-35 from:

Are you interested to know more about "MEF vs standard IoC Container", "MEF Visualizer" click here .

to:

Are you interested to know more about MEF (i.e. "MEF vs standard IoC Container", "MEF Visualizer") click here .

28 January 2015, 14:02 by Eduard Chromik -
Changed lines 33-34 from:
to:

Are you interested to know more about "MEF vs standard IoC Container", "MEF Visualizer" click here .

28 January 2015, 14:01 by Eduard Chromik -
Changed lines 14-16 from:

Longer description here (codeplex wiki).

to:
Longer description here (codeplex wiki).
Changed lines 25-27 from:

4. MEF Architecture

to:

4. MEF Architecture

Full MEF Architecture described here.

28 January 2015, 13:56 by Eduard Chromik -
Changed lines 2-3 from:

The Managed Extensibility Framework (MEF) is a composition layer for .NET that improves the flexibility, maintainability and testability of large applications. MEF can be used for third-party plugin extensibility, or it can bring the benefits of a loosely-coupled plugin-like architecture to regular applications.

to:

The Managed Extensibility Framework (MEF) is a composition layer for .NET that improves the flexibility, maintainability and testability of large applications. MEF can be used for third-party plugin extensibility, or it can bring the benefits of a loosely-coupled plugin-like architecture to regular applications.

Changed lines 11-13 from:
  • Parts are the cornerstone of MEF. Parts known as Exports can provide services to other parts whilst parts known as Imports consume services from other parts. It is throught this relationship between what a part needs, and what a part can provide that the composition takes place. Service definition is done via Contracts.
  • Containers perform the actual composition between parts by matching Exports with Imports, that is, service providers with service consumers.
  • Catalogs are in charge of part discovery. Using different built-in catalogs, an application can find parts within a given assembly or a given folder at runtime. Containers use catalogs to find out which parts they can use during composition.
to:
  • Parts are the cornerstone of MEF. Parts known as Exports can provide services to other parts whilst parts known as Imports consume services from other parts. It is throught this relationship between what a part needs, and what a part can provide that the composition takes place. Service definition is done via Contracts.
  • Containers perform the actual composition between parts by matching Exports with Imports, that is, service providers with service consumers.
  • Catalogs are in charge of part discovery. Using different built-in catalogs, an application can find parts within a given assembly or a given folder at runtime. Containers use catalogs to find out which parts they can use during composition.
28 January 2015, 13:54 by Eduard Chromik -
Changed line 1 from:

Introduction

to:

1. Introduction

Changed lines 6-13 from:
  • System.ComponentModel?.Composition.* which has shipped with .NET 4.0 and higher and Silverlight 4. This provides the standard extension model that has been used in Visual Studio.
  • System.Compostion.* is a lightweight version of MEF, which has been optimized for static composition scenarios and provides faster compositions. It is also the only version of MEF that is as a portable class library and can be used on phone, store, desktop and web applications.

How MEF works

  • Parts are the cornerstone of MEF. Parts known as Exports can provide services to other parts whilst parts known as Imports consume services from other parts. It is throught this relationship between what a part needs, and what a part can provide that the composition takes place. Service definition is done via Contracts.
  • Containers perform the actual composition between parts by matching Exports with Imports, that is, service providers with service consumers.
  • Catalogs are in charge of part discovery. Using different built-in catalogs, an application can find parts within a given assembly or a given folder at runtime. Containers use catalogs to find out which parts they can use during composition.
to:
  • System.ComponentModel.Composition.* which has shipped with .NET 4.0 and higher and Silverlight 4. This provides the standard extension model that has been used in Visual Studio.
  • System.Compostion.* is a lightweight version of MEF, which has been optimized for static composition scenarios and provides faster compositions. It is also the only version of MEF that is as a portable class library and can be used on phone, store, desktop and web applications.

2. How MEF works

  • Parts are the cornerstone of MEF. Parts known as Exports can provide services to other parts whilst parts known as Imports consume services from other parts. It is throught this relationship between what a part needs, and what a part can provide that the composition takes place. Service definition is done via Contracts.
  • Containers perform the actual composition between parts by matching Exports with Imports, that is, service providers with service consumers.
  • Catalogs are in charge of part discovery. Using different built-in catalogs, an application can find parts within a given assembly or a given folder at runtime. Containers use catalogs to find out which parts they can use during composition.
Changed lines 17-18 from:

MEF Examples

to:

3. MEF Examples

Changed lines 23-51 from:

MEF vs standard IoC Container

Nicely writen article about "Mef vs IoC" here.

DI is based on three dimensions, Object Composition, Lifetime Management, and Interception. MEF has potential, but as a DI container, it lacks:

  • Code as Configuration
  • Auto Registration
  • XML configuration
  • Custom Lifetimes
  • Interception (another example Interception using Dependency Injection Container)

For Lifestyle it lacks:

  • Per graph
  • Web Request Context
  • Thread Context
  • Session Context
  • Pooled
  • Scoped
  • Custom Reference

Its a option to use MEF as a Extension for standard IoC container more.

.NET IoC/DI options:

  • Containers comparsion (another Unity, StructurMap, Autofac, Castle Windsor, Ninject facilitates and Spring.NET comparsion)
  • OSGi.net

MEF Architecture

to:

4. MEF Architecture

Changed lines 28-47 from:

MEF Visualizer

Helps to see what is going on inside the MEF Composition Container. Download

Container = new CompositionContainer(
               new AggregateCatalog(
                    new AssemblyCatalog( Assembly.GetExecutingAssembly() ) ,
                    new AssemblyCatalog( Assembly.LoadFrom( @"MEFVisualizer.Exe" ) )
                    ) );

Container.Compose( batch );

var meftoDgml = new MEFToDGML( Container){ IsNamespaceGrouping = true };   // The Visualizer

meftoDgml.WriteToDGMLFile();   // Write to DGML file

Why to use MEF

to:

5. More about MEF

More

6. Why to use MEF

Changed lines 35-36 from:

Good explanations

to:

7. Good explanations

28 January 2015, 11:44 by Eduard Chromik -
Added lines 74-77:

Why to use MEF

10 reasons why to use MEF

28 January 2015, 11:42 by Eduard Chromik -
Changed lines 21-22 from:

3. Hello World example - External *Codeproject* site!

to:

3. Hello World example - External *Codeproject* site!

28 January 2015, 11:42 by Eduard Chromik -
Changed lines 15-18 from:

Longer version here (codeplex wiki).

MEF Example

to:

Longer description here (codeplex wiki).

MEF Examples

1. Evil Wizard example - basic usage of MEF.

2. Catalogs example - more Catalog focused

3. Hello World example - External *Codeproject* site!

04 January 2015, 22:06 by Eduard Chromik -
Changed lines 17-25 from:

MEF Example

Longer version of this example more.

Another "Hello World!" example

10 reasons why to use MEF

to:

MEF Example

04 January 2015, 22:00 by Eduard Chromik -
Deleted line 25:
Changed lines 54-57 from:

MEF Architecture

In-Depth analysis of MEF Architecture

to:

MEF Architecture

Fig: Different layers in the Managed Extensions Framework.

04 January 2015, 21:36 by Eduard Chromik -
Changed lines 52-53 from:
  • Containers comparsion

(another Unity, StructurMap, Autofac, Castle Windsor, Ninject facilitates and Spring.NET comparsion)

to:
  • Containers comparsion (another Unity, StructurMap, Autofac, Castle Windsor, Ninject facilitates and Spring.NET comparsion)
04 January 2015, 21:36 by Eduard Chromik -
Changed line 53 from:

(another comparsion Unity, StructurMap, Autofac, Castle Windsor, Ninject facilitates and Spring.NET comparsion)

to:

(another Unity, StructurMap, Autofac, Castle Windsor, Ninject facilitates and Spring.NET comparsion)

04 January 2015, 21:35 by Eduard Chromik -
Changed line 53 from:
  • Unity, StructurMap, Autofac, Castle Windsor, Ninject facilitates and Spring.NET comparsion
to:

(another comparsion Unity, StructurMap, Autofac, Castle Windsor, Ninject facilitates and Spring.NET comparsion)

04 January 2015, 21:27 by Eduard Chromik -
Added lines 58-59:

In-Depth analysis of MEF Architecture

Deleted lines 109-110:

In-Depth analysis of MEF Architecture

04 January 2015, 21:22 by Eduard Chromik -
Added lines 77-78:

Audio

Added lines 80-81:

Code

Deleted line 82:
  • Video: MEF Oleg Lvovitch and Kevin Ransom Introduction, MEF 2.0
Deleted lines 83-84:
  • Presentation: Lecture by Nuno Cancelo
  • Presentation: Lecture by Mohamed Meligy
Added lines 85-87:

Video

  • Video: MEF Oleg Lvovitch and Kevin Ransom Introduction, MEF 2.0
Added lines 90-95:

Presentation

  • Presentation: Lecture by Nuno Cancelo
  • Presentation: Lecture by Mohamed Meligy
Changed lines 103-105 from:

Spring.NET & Attribute Driven Configuration MEF Runtime Plugin Swapping

to:
  • Spring.NET & Attribute Driven Configuration
  • MEF Runtime Plugin Swapping
04 January 2015, 21:17 by Eduard Chromik -
Changed lines 87-88 from:

Dependency Injection in .NET

to:
  • Dependency Injection in .NET
  • Programming .NET Components, 2nd Edition
  • Pro .NET 1.1 Remoting, Reflection, and Threading
04 January 2015, 20:14 by Eduard Chromik -
Changed lines 4-5 from:

There are two versions of MEF:

to:

There are two versions of MEF:

Changed lines 56-57 from:
to:

MEF Architecture

28 December 2014, 16:21 by Eduard Chromik -
Changed lines 95-104 from:

In-Depth analysis of MEF Architecture

to:

In-Depth analysis of MEF Architecture

http://channel9.msdn.com/posts/NET-45-Oleg-Lvovitch-and-Kevin-Ransom-Managed-Extensibility-Framework-MEF-20 http://www.codeproject.com/Articles/376033/From-Zero-to-Proficient-with-MEF http://www.codeproject.com/Articles/37579/Managed-Extensibility-Framework-Part https://emcpadden.wordpress.com/2008/12/07/managed-extensibility-framework-and-others/

OSGI Spring Links

http://www.javaworld.com/article/2077837/java-se/hello--osgi--part-1--bundles-for-beginners.html http://www.javaworld.com/article/2077853/java-se/hello--osgi--part-2--introduction-to-spring-dynamic-modules.html#resources

28 December 2014, 15:39 by Eduard Chromik -
Changed lines 95-99 from:

In-Depth analysis of MEF Architecture

TODO

to:

In-Depth analysis of MEF Architecture

28 December 2014, 15:38 by Eduard Chromik -
Changed lines 21-22 from:

Another "Hello World!" more

to:

Another "Hello World!" example

28 December 2014, 15:38 by Eduard Chromik -
Added lines 21-22:

Another "Hello World!" more

Changed lines 99-100 from:
  • http://www.codeproject.com/Articles/56635/Managed-Extensibility-Framework
  • http://channel9.msdn.com/Blogs/JanSteberl/Managed-Extensibility-Framework
to:
28 December 2014, 15:36 by Eduard Chromik -
Deleted line 80:
Changed lines 82-83 from:
to:
  • Video: MEF Jan Steberl CZ Introduction MEF - CZ
Deleted lines 94-99:
28 December 2014, 15:34 by Eduard Chromik -
Changed line 10 from:
to:
Changed lines 14-16 from:
to:

Longer version here (codeplex wiki).

Added lines 80-81:
  • Presentation: Lecture by Mohamed Meligy
Deleted line 103:
  • http://mef.codeplex.com/wikipage?title=Overview&referringTitle=Home
Deleted lines 104-107:
  • http://the-tread-way.blogspot.cz/2010/04/springnet-attribute-driven.html
  • http://www.slideshare.net/Mohamed_Meligy/managed-extensibility-framework-mef
28 December 2014, 15:26 by Eduard Chromik -
Changed line 24 from:

Nicely writen article about "Mef vs Ioc"

to:

Nicely writen article about "Mef vs IoC"

28 December 2014, 15:25 by Eduard Chromik -
Added line 26:
28 December 2014, 15:24 by Eduard Chromik -
Added lines 24-25:

Nicely writen article about "Mef vs Ioc" here.

Changed line 102 from:
  • http://msdn.microsoft.com/en-us/magazine/gg650670.aspx
to:
28 December 2014, 15:22 by Eduard Chromik -
Deleted lines 99-100:
  • http://stackoverflow.com/questions/216565/why-exactly-isnt-mef-a-di-ioc-container
28 December 2014, 15:21 by Eduard Chromik -
Changed line 100 from:
  • http://www.hanselman.com/blog/HanselminutesPodcast148MEFManagedExtensibilityFrameworkWithGlennBlock.aspx
to:
28 December 2014, 15:18 by Eduard Chromik -
Changed lines 17-18 from:

Longer version of this example .

to:

Longer version of this example more.

28 December 2014, 15:18 by Eduard Chromik -
Added lines 17-18:

Longer version of this example .

Changed lines 75-76 from:

Code: Complete MEF Programming Guide

to:
  • Code: Complete MEF Programming Guide
Changed line 95 from:
  • http://www.codeproject.com/Articles/188054/An-Introduction-to-Managed-Extensibility-Framework
to:
28 December 2014, 15:16 by Eduard Chromik -
Changed lines 73-74 from:
to:

Code: Complete MEF Programming Guide

Changed lines 88-91 from:

MEF Programming Guide

to:
28 December 2014, 15:14 by Eduard Chromik -
Deleted lines 80-82:

Hosting MEF Extensions in an IoC Container

28 December 2014, 15:11 by Eduard Chromik -
Added lines 40-41:

Its a option to use MEF as a Extension for standard IoC container more.

Added lines 77-83:

Interestiong links

Spring.NET & Attribute Driven Configuration MEF Runtime Plugin Swapping

Hosting MEF Extensions in an IoC Container

Deleted lines 89-92:

MEF Runtime Plugin Swapping

Hosting MEF Extensions in an IoC Container

Changed lines 92-93 from:

Spring.NET

to:
28 December 2014, 15:03 by Eduard Chromik -
Changed lines 70-71 from:
to:
  • Presentation: Lecture by Nuno Cancelo
Deleted lines 76-77:
Changed lines 79-80 from:

Lecture

to:
28 December 2014, 15:01 by Eduard Chromik -
Changed lines 28-30 from:
  • Interception another example Interception using Dependency Injection Container
to:
  • Interception (another example Interception using Dependency Injection Container)
28 December 2014, 15:01 by Eduard Chromik -
Changed lines 28-30 from:
  • Interception
to:
  • Interception another example Interception using Dependency Injection Container
Changed lines 76-77 from:

Interception using Dependency Injection Container

to:
28 December 2014, 14:59 by Eduard Chromik -
Changed lines 28-29 from:
  • Interception
to:
  • Interception
28 December 2014, 14:57 by Eduard Chromik -
Changed lines 68-69 from:
to:
  • Code: Glenn Block - Building Composable Apps in .NET 4 with the Managed Extensibility Framework Complete explanations of MEF capabilities
28 December 2014, 14:16 by Eduard Chromik -
Changed lines 2-3 from:

The Managed Extensibility Framework (MEF) is a composition layer for .NET that improves the flexibility, maintainability and testability of large applications. MEF can be used for third-party plugin extensibility, or it can bring the benefits of a loosely-coupled plugin-like architecture to regular applications.

to:

The Managed Extensibility Framework (MEF) is a composition layer for .NET that improves the flexibility, maintainability and testability of large applications. MEF can be used for third-party plugin extensibility, or it can bring the benefits of a loosely-coupled plugin-like architecture to regular applications.

28 December 2014, 14:09 by Eduard Chromik -
Changed lines 2-3 from:

The Managed Extensibility Framework (MEF) is a composition layer for .NET that improves the flexibility, maintainability and testability of large applications. MEF can be used for third-party plugin extensibility, or it can bring the benefits of a loosely-coupled plugin-like architecture to regular applications.

to:

The Managed Extensibility Framework (MEF) is a composition layer for .NET that improves the flexibility, maintainability and testability of large applications. MEF can be used for third-party plugin extensibility, or it can bring the benefits of a loosely-coupled plugin-like architecture to regular applications.

28 December 2014, 14:07 by Eduard Chromik -
Changed line 41 from:
  • Unity, StructurMap, Autofac, Castle Windsor, Ninject facilitates, Spring.NET,
to:
  • Unity, StructurMap, Autofac, Castle Windsor, Ninject facilitates and Spring.NET comparsion
28 December 2014, 14:06 by Eduard Chromik -
Changed lines 40-46 from:

Containers comparsion

Unity, StructurMap, Autofac, Castle Windsor, Ninject facilitates, Spring.NET,

 OSGi.net
to:
  • Containers comparsion
  • Unity, StructurMap, Autofac, Castle Windsor, Ninject facilitates, Spring.NET,
  • OSGi.net
28 December 2014, 14:06 by Eduard Chromik -
Changed lines 39-43 from:

.NET IoC/DI options: Containers comparsion

Unity, Castle Windsor, Ninject facilitates, Spring.NET, OSGi.net

to:

.NET IoC/DI options:

Containers comparsion

Unity, StructurMap, Autofac, Castle Windsor, Ninject facilitates, Spring.NET,

 OSGi.net
28 December 2014, 14:03 by Eduard Chromik -
Changed line 39 from:

.NET IoC/DI options:

to:

.NET IoC/DI options: Containers comparsion

Changed lines 41-43 from:

Containers comparsion

to:
28 December 2014, 14:00 by Eduard Chromik -
Changed lines 24-29 from:
  • 1. Code as Configuration
  • 2. Auto Registration
  • 3. XML configuration
  • 4. Custom Lifetimes
  • 5. Interception
to:
  • Code as Configuration
  • Auto Registration
  • XML configuration
  • Custom Lifetimes
  • Interception
Changed lines 31-38 from:
  • 1. Per graph
  • 2. Web Request Context
  • 3. Thread Context
  • 4. Session Context
  • 5. Pooled
  • 6. Scoped
  • 7. Custom Reference
to:
  • Per graph
  • Web Request Context
  • Thread Context
  • Session Context
  • Pooled
  • Scoped
  • Custom Reference
28 December 2014, 13:59 by Eduard Chromik -
Changed lines 24-31 from:

1. Code as Configuration 2. Auto Registration 3. XML configuration (not so important to me) 4. Custom Lifetimes 5. Interception Those things are pretty important.

to:
  • 1. Code as Configuration
  • 2. Auto Registration
  • 3. XML configuration
  • 4. Custom Lifetimes
  • 5. Interception
Changed lines 31-39 from:

1. Per graph 2. Web Request Context 3. Thread Context 4. Session Context 5. Pooled 6. Scoped 7. Custom Reference

to:
  • 1. Per graph
  • 2. Web Request Context
  • 3. Thread Context
  • 4. Session Context
  • 5. Pooled
  • 6. Scoped
  • 7. Custom Reference
28 December 2014, 13:52 by Eduard Chromik -
Changed line 21 from:

MEF vs IoC Container

to:

MEF vs standard IoC Container

Changed lines 42-47 from:

.NET IoC/DI options: Unity Castle Windsor Ninject facilitates Spring.NET

to:

.NET IoC/DI options:

Unity, Castle Windsor, Ninject facilitates, Spring.NET, OSGi.net Containers comparsion

28 December 2014, 00:48 by Eduard Chromik -
Added lines 4-5:

There are two versions of MEF:

28 December 2014, 00:17 by Eduard Chromik -
Changed lines 15-18 from:

10 reason why to use MEF

to:

10 reasons why to use MEF

28 December 2014, 00:16 by Eduard Chromik -
Changed lines 15-18 from:
to:

10 reason why to use MEF

28 December 2014, 00:13 by Eduard Chromik -
Changed line 37 from:

Another .NET IoC/DI options:

to:

.NET IoC/DI options:

22 December 2014, 15:56 by Eduard Chromik -
Changed line 62 from:
  • Audio: MEF with Glenn Block IoC, DI vs MEF
to:
  • Audio: MEF with Glenn Block IoC, DI vs MEF
22 December 2014, 15:55 by Eduard Chromik -
Changed line 62 from:
  • Audio: MEF with Glenn Block
to:
  • Audio: MEF with Glenn Block IoC, DI vs MEF
Changed lines 64-66 from:
  • Video: MEF Oleg Lvovitch and Kevin Ransom
to:
  • Video: MEF Oleg Lvovitch and Kevin Ransom Introduction, MEF 2.0
22 December 2014, 15:49 by Eduard Chromik -
Changed lines 62-66 from:

Audio: MEF with Glenn Block Code: Barbarian Meets MEF Video: MEF Oleg Lvovitch and Kevin Ransom

to:
  • Audio: MEF with Glenn Block
  • Code: Barbarian Meets MEF
  • Video: MEF Oleg Lvovitch and Kevin Ransom
22 December 2014, 15:48 by Eduard Chromik -
Changed lines 64-65 from:
to:

Video: MEF Oleg Lvovitch and Kevin Ransom

22 December 2014, 15:46 by Eduard Chromik -
Changed lines 63-64 from:
to:

Code: Barbarian Meets MEF

Deleted lines 72-73:

Barbarian Meets MEF

22 December 2014, 15:45 by Eduard Chromik -
Changed lines 13-14 from:
to:

MEF Example

Changed line 37 from:

Another .NET options:

to:

Another .NET IoC/DI options:

Changed lines 61-62 from:
to:

Good explanations

Audio: MEF with Glenn Block

22 December 2014, 15:38 by Eduard Chromik -
Changed lines 7-8 from:

How it works

to:

How MEF works

22 December 2014, 15:37 by Eduard Chromik -
Changed lines 7-14 from:
to:

How it works

  • Parts are the cornerstone of MEF. Parts known as Exports can provide services to other parts whilst parts known as Imports consume services from other parts. It is throught this relationship between what a part needs, and what a part can provide that the composition takes place. Service definition is done via Contracts.
  • Containers perform the actual composition between parts by matching Exports with Imports, that is, service providers with service consumers.
  • Catalogs are in charge of part discovery. Using different built-in catalogs, an application can find parts within a given assembly or a given folder at runtime. Containers use catalogs to find out which parts they can use during composition.
22 December 2014, 15:15 by Eduard Chromik -
Changed line 36 from:

Helps to see what is going on inside the MEF Composition Container

to:

Helps to see what is going on inside the MEF Composition Container. Download

Changed lines 52-54 from:

Download

to:
22 December 2014, 15:15 by Eduard Chromik -
Changed lines 52-53 from:
to:

Download

22 December 2014, 15:03 by Eduard Chromik -
Changed lines 37-38 from:
to:
22 December 2014, 14:34 by Eduard Chromik -
Changed lines 39-64 from:
to:
Container = new CompositionContainer(
               new AggregateCatalog(
                    new AssemblyCatalog( Assembly.GetExecutingAssembly() ) ,
                    new AssemblyCatalog( Assembly.LoadFrom( @"MEFVisualizer.Exe" ) )
                    ) );

Container.Compose( batch );

var meftoDgml = new MEFToDGML( Container){ IsNamespaceGrouping = true };   // The Visualizer

meftoDgml.WriteToDGMLFile();   // Write to DGML file
22 December 2014, 14:26 by Eduard Chromik -
Changed lines 39-43 from:

=csharp ApplicationContext ctx = new ClassPathXmlApplicationContext("cz/zcu/kiv/project/beanDefinition.xml");

to:
22 December 2014, 14:20 by Eduard Chromik -
Changed lines 39-53 from:
=java122 Container = new CompositionContainer( new AggregateCatalog( new AssemblyCatalog( Assembly.GetExecutingAssembly() ) , new AssemblyCatalog( Assembly.LoadFrom( @"MEFVisualizer.Exe" ) ) ) ); Container.Compose( batch ); var meftoDgml = new MEFToDGML( Container){ IsNamespaceGrouping = true }; // The Visualizer meftoDgml.WriteToDGMLFile(); // Write to DGML file
to:

=csharp ApplicationContext ctx = new ClassPathXmlApplicationContext("cz/zcu/kiv/project/beanDefinition.xml");

22 December 2014, 14:18 by Eduard Chromik -
Changed line 39 from:
[=
to:
=java122[=
22 December 2014, 14:17 by Eduard Chromik -
Changed lines 39-40 from:
to:
[=

Container = new CompositionContainer?(

                new AggregateCatalog?(
                    new AssemblyCatalog?( Assembly.GetExecutingAssembly?() ) ,
                    new AssemblyCatalog?( Assembly.LoadFrom?( @"MEFVisualizer?.Exe" ) )
                    ) );

            Container.Compose( batch );

            var meftoDgml = new MEFToDGML?( Container){ IsNamespaceGrouping? = true };   // The Visualizer

           meftoDgml.WriteToDGMLFile?();   // Write to DGML file
22 December 2014, 14:11 by Eduard Chromik -
Changed line 39 from:
to:
22 December 2014, 14:08 by Eduard Chromik -
Changed lines 39-53 from:

Deprecated: Function call_user_method() is deprecated in /home/system/www/apache/wiki.kiv.zcu.cz/cookbook/beautifier/php/Beautifier/Core.php on line 564

Deprecated: Function call_user_method() is deprecated in /home/system/www/apache/wiki.kiv.zcu.cz/cookbook/beautifier/php/Beautifier/Core.php on line 564

Deprecated: Function call_user_method() is deprecated in /home/system/www/apache/wiki.kiv.zcu.cz/cookbook/beautifier/php/Beautifier/Core.php on line 564

Deprecated: Function call_user_method() is deprecated in /home/system/www/apache/wiki.kiv.zcu.cz/cookbook/beautifier/php/Beautifier/Core.php on line 564

Deprecated: Function call_user_method() is deprecated in /home/system/www/apache/wiki.kiv.zcu.cz/cookbook/beautifier/php/Beautifier/Core.php on line 564

Deprecated: Function call_user_method() is deprecated in /home/system/www/apache/wiki.kiv.zcu.cz/cookbook/beautifier/php/Beautifier/Core.php on line 564

Deprecated: Function call_user_method() is deprecated in /home/system/www/apache/wiki.kiv.zcu.cz/cookbook/beautifier/php/Beautifier/Core.php on line 564

Deprecated: Function call_user_method() is deprecated in /home/system/www/apache/wiki.kiv.zcu.cz/cookbook/beautifier/php/Beautifier/Core.php on line 564
Container = new CompositionContainer(
new AggregateCatalog(
new AssemblyCatalog( Assembly.GetExecutingAssembly() ) ,
new AssemblyCatalog( Assembly.LoadFrom( @"MEFVisualizer.Exe" ) )
) );

Container.Compose( batch );

var meftoDgml = new MEFToDGML( Container){ IsNamespaceGrouping = true };   // The Visualizer

meftoDgml.WriteToDGMLFile();   // Write to DGML file
to:
22 December 2014, 14:07 by Eduard Chromik -
Changed lines 39-53 from:
to:

Deprecated: Function call_user_method() is deprecated in /home/system/www/apache/wiki.kiv.zcu.cz/cookbook/beautifier/php/Beautifier/Core.php on line 564

Deprecated: Function call_user_method() is deprecated in /home/system/www/apache/wiki.kiv.zcu.cz/cookbook/beautifier/php/Beautifier/Core.php on line 564

Deprecated: Function call_user_method() is deprecated in /home/system/www/apache/wiki.kiv.zcu.cz/cookbook/beautifier/php/Beautifier/Core.php on line 564

Deprecated: Function call_user_method() is deprecated in /home/system/www/apache/wiki.kiv.zcu.cz/cookbook/beautifier/php/Beautifier/Core.php on line 564

Deprecated: Function call_user_method() is deprecated in /home/system/www/apache/wiki.kiv.zcu.cz/cookbook/beautifier/php/Beautifier/Core.php on line 564

Deprecated: Function call_user_method() is deprecated in /home/system/www/apache/wiki.kiv.zcu.cz/cookbook/beautifier/php/Beautifier/Core.php on line 564

Deprecated: Function call_user_method() is deprecated in /home/system/www/apache/wiki.kiv.zcu.cz/cookbook/beautifier/php/Beautifier/Core.php on line 564

Deprecated: Function call_user_method() is deprecated in /home/system/www/apache/wiki.kiv.zcu.cz/cookbook/beautifier/php/Beautifier/Core.php on line 564
Container = new CompositionContainer(
new AggregateCatalog(
new AssemblyCatalog( Assembly.GetExecutingAssembly() ) ,
new AssemblyCatalog( Assembly.LoadFrom( @"MEFVisualizer.Exe" ) )
) );

Container.Compose( batch );

var meftoDgml = new MEFToDGML( Container){ IsNamespaceGrouping = true };   // The Visualizer

meftoDgml.WriteToDGMLFile();   // Write to DGML file
22 December 2014, 14:03 by Eduard Chromik -
Changed line 36 from:
to:

Helps to see what is going on inside the MEF Composition Container

22 December 2014, 14:03 by Eduard Chromik -
Changed lines 37-39 from:
to:
22 December 2014, 14:02 by Eduard Chromik -
Changed lines 37-39 from:
to:
22 December 2014, 14:02 by Eduard Chromik -
Changed lines 37-39 from:
to:
22 December 2014, 14:01 by Eduard Chromik -
Changed lines 37-39 from:
to:
22 December 2014, 14:01 by Eduard Chromik -
22 December 2014, 14:00 by Eduard Chromik -
Changed lines 37-39 from:

http://wiki.kiv.zcu.cz/uploads/UvodDoKomponent/MEF_Visualization

to:
22 December 2014, 14:00 by Eduard Chromik -
Changed lines 37-39 from:
to:

http://wiki.kiv.zcu.cz/uploads/UvodDoKomponent/MEF_Visualization

22 December 2014, 13:58 by Eduard Chromik -
Changed line 36 from:
to:
22 December 2014, 13:58 by Eduard Chromik -
Added line 36:
22 December 2014, 13:56 by Eduard Chromik -
Changed lines 35-37 from:

MEF Visualization

to:

MEF Visualizer

22 December 2014, 13:54 by Eduard Chromik -
Added lines 35-37:

MEF Visualization

22 December 2014, 13:53 by Eduard Chromik -
Changed lines 5-7 from:

System.Compostion. is a lightweight version of MEF, which has been optimized for static composition scenarios and provides faster compositions. It is also the only version of MEF that is as a portable class library and can be used on phone, store, desktop and web applications.

to:
  • System.Compostion.* is a lightweight version of MEF, which has been optimized for static composition scenarios and provides faster compositions. It is also the only version of MEF that is as a portable class library and can be used on phone, store, desktop and web applications.
22 December 2014, 13:53 by Eduard Chromik -
Changed lines 5-7 from:
  • System.Compostion.*_ is a lightweight version of MEF, which has been optimized for static composition scenarios and provides faster compositions. It is also the only version of MEF that is as a portable class library and can be used on phone, store, desktop and web applications.
to:

System.Compostion. is a lightweight version of MEF, which has been optimized for static composition scenarios and provides faster compositions. It is also the only version of MEF that is as a portable class library and can be used on phone, store, desktop and web applications.

22 December 2014, 13:52 by Eduard Chromik -
Changed line 9 from:
 DI is based on three dimensions, Object Composition, Lifetime Management, and Interception.
to:

DI is based on three dimensions, Object Composition, Lifetime Management, and Interception.

22 December 2014, 13:52 by Eduard Chromik -
Changed line 35 from:

Literature

to:

Literature

Changed lines 38-39 from:

TODO

to:

TODO

22 December 2014, 13:52 by Eduard Chromik -
Added lines 38-39:

TODO

22 December 2014, 13:51 by Eduard Chromik -
Changed line 1 from:

Introduction

to:

Introduction

Changed line 8 from:

MEF vs IoC Container

to:

MEF vs IoC Container

Added lines 29-34:

Another .NET options: Unity Castle Windsor Ninject facilitates Spring.NET

22 December 2014, 13:49 by Eduard Chromik -
Added lines 7-8:

MEF vs IoC Container

Deleted lines 9-16:

Unity, Castle Windsor, Ninject facilitates, Spring.NET

Dependency Injection in .NET

Added lines 29-31:

Literature

Dependency Injection in .NET

18 December 2014, 01:06 by Eduard Chromik -
Added lines 37-38:

Barbarian Meets MEF

17 December 2014, 20:31 by Eduard Chromik -
Added lines 35-36:

Interception using Dependency Injection Container

17 December 2014, 19:53 by Eduard Chromik -
Added lines 7-8:
 DI is based on three dimensions, Object Composition, Lifetime Management, and Interception.
Added lines 12-34:

Dependency Injection in .NET

MEF has potential, but as a DI container, it lacks:

1. Code as Configuration 2. Auto Registration 3. XML configuration (not so important to me) 4. Custom Lifetimes 5. Interception Those things are pretty important.

For Lifestyle it lacks:

1. Per graph 2. Web Request Context 3. Thread Context 4. Session Context 5. Pooled 6. Scoped 7. Custom Reference

17 December 2014, 19:50 by Eduard Chromik -
Changed lines 7-9 from:
to:

Unity, Castle Windsor, Ninject facilitates, Spring.NET

17 December 2014, 19:49 by Eduard Chromik -
Added lines 18-19:

Spring.NET

17 December 2014, 17:52 by Eduard Chromik -
Changed lines 22-23 from:
  • http://www.mstv.cz/vyvojari/videos/239/Managed-Extensibility-Framework
to:
  • http://channel9.msdn.com/Blogs/JanSteberl/Managed-Extensibility-Framework
Changed lines 28-29 from:
  • http://www.slideshare.net/Mohamed_Meligy/managed-extensibility-framework-mef
  • http://channel9.msdn.com/Shows/10-4/10-4-Episode-26-Creating-Extensible-Applications-with-the-Managed-Extensibility-Framework
to:
  • http://www.slideshare.net/Mohamed_Meligy/managed-extensibility-framework-mef
17 December 2014, 01:17 by Eduard Chromik -
Deleted line 25:
  • http://stackoverflow.com/questions/108116/mef-managed-extensibility-framework-vs-ioc-di
17 December 2014, 00:49 by Eduard Chromik -
Deleted line 18:
  • http://mef.codeplex.com
Changed lines 23-25 from:
  • http://stackoverflow.com/questions/15572302/difference-between-mef-and-ioc-containers-likeunity-autofac-smap-ninject-windso
  • http://stackoverflow.com/questions/709532/is-mef-osgi-for-net
  • https://mef.codeplex.com/discussions/209827
to:
17 December 2014, 00:01 by Eduard Chromik -
Changed line 1 from:

Introduction

to:

Introduction

Added line 9:
Added line 11:
Added lines 16-17:

MEF Programming Guide

16 December 2014, 23:56 by Eduard Chromik -
Added lines 12-13:

Hosting MEF Extensions in an IoC Container

16 December 2014, 23:54 by Eduard Chromik -
Added lines 7-8:

In-Depth analysis of MEF Architecture

16 December 2014, 23:45 by Eduard Chromik -
Changed line 1 from:

Introduciton

to:

Introduction

Changed lines 7-8 from:

http://www.slideshare.net/NunoCancelo/give-more-life-to-your-application-extending-it-with-mef

to:

Lecture

16 December 2014, 23:39 by Eduard Chromik -
Changed line 4 from:
  • System.ComponentModel?.Composition.* which has shipped with .NET 4.0 and higher and Silverlight 4. This provides the standard extension model that has been used in Visual Studio.
to:
  • System.ComponentModel?.Composition.* which has shipped with .NET 4.0 and higher and Silverlight 4. This provides the standard extension model that has been used in Visual Studio.
Added lines 7-10:

http://www.slideshare.net/NunoCancelo/give-more-life-to-your-application-extending-it-with-mef

MEF Runtime Plugin Swapping

16 December 2014, 23:27 by Eduard Chromik -
Changed line 4 from:
  • System.ComponentModel?.Composition.* which has shipped with .NET 4.0 and higher and Silverlight 4. This provides the standard extension model that has been used in Visual Studio.
to:
  • System.ComponentModel?.Composition.* which has shipped with .NET 4.0 and higher and Silverlight 4. This provides the standard extension model that has been used in Visual Studio.
16 December 2014, 23:26 by Eduard Chromik -
Added lines 1-6:

Introduciton The Managed Extensibility Framework (MEF) is a composition layer for .NET that improves the flexibility, maintainability and testability of large applications. MEF can be used for third-party plugin extensibility, or it can bring the benefits of a loosely-coupled plugin-like architecture to regular applications.

  • System.ComponentModel?.Composition.* which has shipped with .NET 4.0 and higher and Silverlight 4. This provides the standard extension model that has been used in Visual Studio.
  • System.Compostion.*_ is a lightweight version of MEF, which has been optimized for static composition scenarios and provides faster compositions. It is also the only version of MEF that is as a portable class library and can be used on phone, store, desktop and web applications.
30 October 2014, 15:08 by Eduard Chromik -
Added lines 4-16:
  • http://www.codeproject.com/Articles/56635/Managed-Extensibility-Framework
  • http://mef.codeplex.com/wikipage?title=Overview&referringTitle=Home
  • http://www.mstv.cz/vyvojari/videos/239/Managed-Extensibility-Framework
  • http://stackoverflow.com/questions/15572302/difference-between-mef-and-ioc-containers-likeunity-autofac-smap-ninject-windso
  • http://stackoverflow.com/questions/709532/is-mef-osgi-for-net
  • https://mef.codeplex.com/discussions/209827
  • http://www.hanselman.com/blog/HanselminutesPodcast148MEFManagedExtensibilityFrameworkWithGlennBlock.aspx
  • http://stackoverflow.com/questions/216565/why-exactly-isnt-mef-a-di-ioc-container
  • http://stackoverflow.com/questions/108116/mef-managed-extensibility-framework-vs-ioc-di
  • http://msdn.microsoft.com/en-us/magazine/gg650670.aspx
  • http://the-tread-way.blogspot.cz/2010/04/springnet-attribute-driven.html
  • http://www.slideshare.net/Mohamed_Meligy/managed-extensibility-framework-mef
  • http://channel9.msdn.com/Shows/10-4/10-4-Episode-26-Creating-Extensible-Applications-with-the-Managed-Extensibility-Framework
30 October 2014, 14:55 by Eduard Chromik -
Changed lines 2-3 from:

http://mef.codeplex.com http://www.codeproject.com/Articles/188054/An-Introduction-to-Managed-Extensibility-Framework

to:
  • http://mef.codeplex.com
  • http://www.codeproject.com/Articles/188054/An-Introduction-to-Managed-Extensibility-Framework
30 October 2014, 14:54 by Eduard Chromik -
30 October 2014, 14:54 by Eduard Chromik -
Added line 3:

http://www.codeproject.com/Articles/188054/An-Introduction-to-Managed-Extensibility-Framework

30 October 2014, 14:54 by Eduard Chromik -
Added lines 1-2:

TODO http://mef.codeplex.com