MEF Введение в Managed Extensibility Framework

Содержание

Слайд 2

Что такое MEF?

Инструмент позволяющий решать задачи плагинообразности приложения

Что такое MEF? Инструмент позволяющий решать задачи плагинообразности приложения

Слайд 3

Функциональные части

Функциональные части

Слайд 4

Импорт

// Импорт всех доступных расширений:

// Импорт одного расширения:

контракт

контракт

тип расширения

тип расширения

точка импорта

точка импорта

Импорт // Импорт всех доступных расширений: // Импорт одного расширения: контракт контракт

Слайд 5

Экспорт

// Экспорт расширения:

контракт

экспортируемая часть

тип расширения

Экспорт // Экспорт расширения: контракт экспортируемая часть тип расширения

Слайд 6

Композиция

CompositionPart

CompositionPart

// Явная передача элементов композиции:

Композиция CompositionPart CompositionPart // Явная передача элементов композиции:

Слайд 7

Композиция

каталог

объект с точками импорта

// Ипользование каталога для композиции:

Композиция каталог объект с точками импорта // Ипользование каталога для композиции:

Слайд 8

Каталоги

AggregateCatalog
AssemblyCatalog
DirectoryCatalog *
TypeCatalog
DeploymentCatalog **

* Только в .NET Framework
** Только в Silverlight

Каталоги AggregateCatalog AssemblyCatalog DirectoryCatalog * TypeCatalog DeploymentCatalog ** * Только в .NET

Слайд 9

Обзор архитектуры

// Ключевая концепция:

Обзор архитектуры // Ключевая концепция:

Слайд 10

Обзор архитектуры

(с) http://mef.codeplex.com/wikipage?title=Architecture&referringTitle=Documentation

Обзор архитектуры (с) http://mef.codeplex.com/wikipage?title=Architecture&referringTitle=Documentation

Слайд 11

Где обитает?

System.ComponentModel.Composition.dll
System.ComponentModel.Composition.Initialization.dll*

* Только в Silverlight

Где обитает? System.ComponentModel.Composition.dll System.ComponentModel.Composition.Initialization.dll* * Только в Silverlight

Слайд 12

PartCreationPolicyAttribute

// Экспорт:

// Импорт:

PartCreationPolicyAttribute // Экспорт: // Импорт:

Слайд 13

Метаданные экспортов

// MetadataExportAttribute:

// Пользовательские атрибуты :

1.

2.

3.

наш атрибут
(метаданные и экспорт)

тип метаданных
(все свойства

Метаданные экспортов // MetadataExportAttribute: // Пользовательские атрибуты : 1. 2. 3. наш
должны быть read-only)

Слайд 14

Доступ к метаданным

Lazy

// Точка импорта:

// Работа с метаданными:

Доступ к метаданным Lazy // Точка импорта: // Работа с метаданными:

Слайд 15

Рекомпозиция

по умолчанию = false

Могут производить рекомпозицию:
AggregateCatalog (автоматически)
DirectoryCatalog (вызвать Refresh)
DeploymentCatalog

Рекомпозиция по умолчанию = false Могут производить рекомпозицию: AggregateCatalog (автоматически) DirectoryCatalog (вызвать Refresh) DeploymentCatalog (автоматически)
(автоматически)

Слайд 16

Доступность

.NET Framework
Как отдельная библиотека в .NET 3.5
Поставляется в составе .NET 4.0
Доступен в

Доступность .NET Framework Как отдельная библиотека в .NET 3.5 Поставляется в составе
.NET Framework 4 Client Profile
Silverlight
Как отдельная библиотека в Silverlight 3
Поставляется в составе Silverlight 4
Silverlight for Windows Phone
Не доступно

Слайд 17

Лицензия

MS Public License
(Проект с открытым исходным кодом)

Лицензия MS Public License (Проект с открытым исходным кодом)

Слайд 18

Ресурсы

http://mef.codeplex.com/
http://blogs.msdn.com/b/gblock/archive/tags/mef/
http://blogs.msdn.com/b/nblumhardt/archive/tags/mef/

Ресурсы http://mef.codeplex.com/ http://blogs.msdn.com/b/gblock/archive/tags/mef/ http://blogs.msdn.com/b/nblumhardt/archive/tags/mef/
Имя файла: MEF-Введение-в-Managed-Extensibility-Framework.pptx
Количество просмотров: 574
Количество скачиваний: 0