Pat*_*olf 14 .net plugins add-in mef mono.addins
我正在开发一个.NET 3.5 C#桌面应用程序.它应该可以通过插件扩展.
是否有任何文章讨论MEF和Mono.AddIn之间的差异,以帮助我做出明智的决定?
或者更好的是你有这两个框架的经验并可以评论它们?
谢谢,帕特里克
Mik*_*son 18
[注意:我在使用Mono.Addins的MonoDevelop上工作,但上周我与MEF团队的Glenn Block广泛讨论了MEF和Mono.Addins之间的差异]
MEF基于组合代码,但底层抽象非常灵活.相比之下,Mono.Addins基于元数据树,您可以将数据/元数据/代码插入到定义的丰富模式中,因此扩展可以添加数据/元数据以及代码.
Mono.Addins为您提供开箱即用的插件管理/打包/存储库/更新系统.对于MEF,此时,你必须建立自己的.
MEF的入门门槛略低,而且其可用性和底层抽象的设计工作也有很多.此外,它是.NET 4的一部分,因此它将拥有一个更大的用户社区.
此时,如果您需要插入数据/元数据以及代码,并且您需要现成的包装系统,我建议使用Mono.Addins,否则我会推荐MEF.继续前进,Mono.Addins的功能很可能会在MEF上实现,因此可能会有一条向MEF迁移的路径.