我正在开发一个 .NET 3.5 C# 桌面应用程序。它应该可以通过插件进行扩展。
是否有任何文章等讨论 MEF 和 Mono.AddIn 之间的差异来帮助我做出明智的决定?
或者更好的是您有这两个框架的经验并且可以对它们发表评论吗?
谢谢,
帕特里克
[注:我从事 MonoDevelop,它使用 Mono.Addins,但上周我与 MEF 团队的 Glenn Block 广泛讨论了 MEF 和 Mono.Addins 之间的差异]
MEF 基于编写代码,尽管底层抽象非常灵活。相比之下,Mono.Addins 基于元数据树,您可以将数据/元数据/代码插入到定义的丰富架构中,因此扩展可以添加数据/元数据以及代码。
Mono.Addins 为您提供了一个开箱即用的插件管理/打包/存储库/更新系统。对于 MEF,此时,您必须构建自己的。
MEF 的进入门槛稍低,并且在其可用性和底层抽象方面进行了大量的设计工作。此外,它是 .NET 4 的一部分,因此它将拥有更大的使用它/为其开发的用户社区。
此时,如果您需要插入数据/元数据以及代码,并且您想要一个现成的打包系统,我会推荐 Mono.Addins,否则我会推荐 MEF。展望未来,Mono.Addins 的功能很可能会在 MEF 上实现,因此可能会有一条向 MEF 的迁移路径。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)