1

我试图了解一个大量使用 StructureMap(一个 IOC/DI 容器框架)的大型项目。所有共享组件的接口都包含在一个项目中,所有其他项目都引用该项目。

在尝试构建依赖层次结构时,我发现很难检测到哪个项目依赖于其他项目,因为没有直接的项目引用,只有一个对接口项目的引用。

我怎样才能仍然构建层次结构树?相反,将所有接口集中在单个超级项目的良好实践中,或者它应该是“正常的”,即每个项目都包含自己的公共接口(以及实现它的预定义具体类)。这也将允许通过简单地遵循参考项目来轻松构建层次结构。

4

1 回答 1

1

这可能有点主观,但我会反对将这种接口封装在一个单独的项目中,其中包含彼此不自然相关的接口。如果您的应用程序的不同部分有不同的项目,那么这些项目的接口也应该是独立的。尽管有时可能有理由将接口与实现放在一个单独的项目中,但正如您所描述的那样,将来自多个实现项目的接口组合成一个巨大的接口项目不太可能是一个很好的理由。

如果您遇到这种情况,并且想要揭示真正的运行时依赖关系,您可能需要检查配置,这可能使用注册表 DSL,或者可能需要解析 XML 配置。

于 2012-04-18T11:37:38.093 回答