Вопрос

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

До сих пор я использовал оба пути реализации расширяемости приложений, и мне нравится MEF за то, что это облегчает загрузку существующих сборок из определенного местоположения без прямого проверки для реализаций интерфейса (для отсутствия ImplementationOf(interface) Проверьте .NET).

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

Это было полезно?

Решение

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top