Я думаю, что у меня есть модель MEF. Но мне трудно понять, соответствует ли это тому, что я пытаюсь сделать.
У меня есть приложение, которое будет вызывать сторонние плагины для обработки видео. Плагин может быть FFMPEG.exe или x264.exe, не имеет значения. Процесс вызова плагинов происходит через ProcessStartInfo (в основном через командную строку) и передает несколько параметров. * например 1003 *
ffmpeg.exe -in "c:\vid.avi" -out "c:\vid.avi" -Xheight 100 -Xwidth 100
or
x264.exe -in "c:\vid.avi" -out "c:\vid.avi" -Yheight 100 -Ywidth 100
При условии, что каждый плагин будет иметь свои собственные наборы параметров, поэтому целесообразно ли использовать MEF, чтобы интерфейс был одинаковым независимо от того, какой плагин используется (alebit через публичный контракт)? Если да, я должен написать класс-оболочку для каждого плагина, реализующего контракт?
Это правильный способ использования MEF? С одной стороны, я пытаюсь сделать свое приложение расширяемым, позволяя клиентам выбирать свои плагины. Но на самом деле я не уверен, является ли MEF излишним и просто лучше использовать конфигурационные файлы для хранения команды?