Должен ли MEF использоваться в производственном приложении - PullRequest
4 голосов
/ 25 августа 2009

В настоящее время мне нужно предоставить средство добавления расширяемости в моем приложении. Я сейчас смотрю на MEF и MAF.

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

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

Ответы [ 3 ]

5 голосов
/ 26 августа 2009

MEF прошел через несколько итераций, и я думаю, что сейчас он довольно близок к стабильному API (возможно, за исключением поддержки Silverlight). Помните, что MEF будет частью .NET 4.0, и VS2010 планирует использовать MEF для своей модели расширяемости, поэтому существует серьезное нежелание кардинально изменить API на этом позднем этапе.

FWIW, у меня не было проблем со стабильностью MEF, и я не увидел бы проблемы с его использованием в производственной системе. Просто относитесь к нему с той же осторожностью, что и к любому другому компоненту с открытым исходным кодом.

2 голосов
/ 18 ноября 2009

В настоящее время я пишу "настоящее" приложение на основе MEF. Моим первым шагом было создание общей расширяемой среды приложения (с расширяемыми меню, панелями инструментов, строкой состояния, присоединяемыми окнами и т. Д.). Мы открываем исходный код как SoapBox Core . Я также опубликовал демо , объясняющее, как это работает.

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

0 голосов
/ 24 октября 2009

Я думаю, что вам не нужно беспокоиться о новой версии или изменениях MEF. MEF - это сборка библиотеки. В своем производственном приложении вы можете добавить библиотеку MEF в свой проект и всегда копировать сборку в локальное место назначения развертывания. Таким образом, ваше производственное приложение останется с этой версией.

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

...