Собственный слой расширяемости или MEF / MAF? - PullRequest
1 голос
/ 04 августа 2010

Для тех, кто работает с расширяемостью приложений в .NET, что вы предпочитаете делать - создавать собственный слой расширяемости или использовать MEF (Managed Extensibility Framework) или MAF (Managed Add-in Framework)?До сих пор я использовал оба способа реализации расширяемости приложения, и мне нравится MEF за то, что он облегчает загрузку существующих сборок из определенного места без прямой проверки реализации интерфейса (из-за отсутствия проверки ImplementationOf(interface).NET).

Какие преимущества вы видите в своем конкретном предпочтении уровня расширяемости?Какие недостатки?

1 Ответ

4 голосов
/ 04 августа 2010

MEF, безусловно, имеет много преимуществ, большинство из которых вы упомянули ... расширяемость, модульность, управление временем жизни и все остальное, что я хотел бы получить в среде первого класса. Он также поставляется вместе с фреймворком, так что нечего делать, и вы знаете, что он будет одинаковым для всех реализаций.

Он используется в VS 2010, поэтому в игре не может быть более широко используемого примера из реального мира.

MAF не совсем то же самое. Он очень специфичен для System.AddIn и требует более жестких требований и контрактов. Сказав это, он также определенно нацелен на определенный тип расширяемости, который могут захотеть некоторые люди.

Я бы пошел на индивидуальный подход, если бы у меня была действительно небольшая площадь или приложение, для которого не требовались все дополнительные издержки.

...