gpt4 book ai didi

c# - Managed Extensibility Framework 是否应该用于使用外部插件?

转载 作者:太空宇宙 更新时间:2023-11-03 11:44:15 24 4
gpt4 key购买 nike

我想我得到了 MEF 模型。但我很难确定它是否适合我正在尝试做的事情。

我有一个应用程序可以调出第三方插件来进行一些视频处理。该插件可以是 FFMPEG.exe 或 x264.exe,无所谓。调用插件的过程是通过 ProcessStartInfo(基本上是通过命令行)并传递一堆参数。例如

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 是否合适,这样无论使用哪个插件,接口(interface)都是相同的(通过公共(public)契约(Contract)的 alebit)?如果是这样,我是否必须为每个实现契约的插件编写一个包装类?

这是使用 MEF 的正确方法吗?一方面,我试图通过允许客户选择他们的插件来使我的应用程序可扩展。但我真的不确定 MEF 是否矫枉过正,简单地使用配置文件来存储命令是否是更好的方法?

最佳答案

如果您有可能简单地使用配置文件,那么这将是更可取的。它将允许添加或更改插件而无需重新编译。这也将为高级用户提供调整插件的机会。

关于c# - Managed Extensibility Framework 是否应该用于使用外部插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3828820/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com