.net 组织MEF大会

.net 组织MEF大会,.net,mef,.net,Mef,为了确保我们在构建MEF插件时采取正确的方法,关于将每个插件作为一个单独的程序集是否有意义存在争议 例如,假设我们有一个DataProcessors解决方案,在其中我们开始为接收到的每种不同类型的数据文件开发不同的处理器。随着每个处理器上线,我们希望MEF目录能够包含这个新插件。然而,由于VS和我们的构建环境中的性能下降,我们担心有一个包含约100个项目的解决方案 我认为将这些处理器中的每一个隔离到一个单独的程序集中是有意义的,保持该程序集的责任是有限的。但这是有代价的 有没有人对一种方法是否比

为了确保我们在构建MEF插件时采取正确的方法,关于将每个插件作为一个单独的程序集是否有意义存在争议

例如,假设我们有一个DataProcessors解决方案,在其中我们开始为接收到的每种不同类型的数据文件开发不同的处理器。随着每个处理器上线,我们希望MEF目录能够包含这个新插件。然而,由于VS和我们的构建环境中的性能下降,我们担心有一个包含约100个项目的解决方案

我认为将这些处理器中的每一个隔离到一个单独的程序集中是有意义的,保持该程序集的责任是有限的。但这是有代价的


有没有人对一种方法是否比另一种更好有经验?

我必须处理的情况与你的略有不同,因为我的每个项目都包含一个“模块”,其中包含许多MEF导出的功能。 如果我打算单独分发或计划将不同的功能分发给每个客户机,我通常只将它们分离成不同的程序集

我认为,在没有MEF的情况下组织课程和集会时,你不应该把它与你所做的决定区别对待。如果您总是发布包含所有这些导出的所有产品,请将所有这些导出包含在一个程序集中


不过,我很想听听其他人的看法

没有真正正确或错误的答案。您可以决定将多个处理器捆绑到同一个程序集中,或者使用每个程序集的方法。后者为您提供了最大的灵活性,但前者在分发方面可能更有效

我会查看您打算进行的更新的频率,也许会围绕一个公共的基本数据类型或操作将它们组织到处理器组中

例如,我可以有一个整数处理器组件和另一个字符串处理器组件

正如我所说,这样做没有对错之分