我作为 IoC 与 Castle Windsor 合作。我正在查看一个团队成员编写的一些代码,并试图弄清楚这里的最佳实践是什么。写这篇文章的方式对我来说有些奇怪,但我没有经验来说明应该做什么。
有两个 Castle 配置(这是我的第一个抱怨,但为了避免怀疑,假设这没关系)。比方说:cfgMain
和cfgSub
。
有一个主类负责设置应用程序并使其运行。(它可以是一个带有 Main() 或 Global.asax 的类,没关系)。比方说:MainClass
。
还有一个DependentClass
。
MainClass 实例化 aCastleContainer
并将 cfgMain 安装到其中,然后 Resolves DependentClass
。
DependentClass
创建另一个 CastleContainer
并安装cfgSub
在其中。这就是我遇到的问题
似乎在通过 IoC 创建的类内部有一个硬编码的配置路径是灾难的根源。这也使得单元测试变得非常困难。
号召性用语:这里的最佳做法是什么?是否应该合并所有配置?如果有理由(阅读:需要)将它们分开怎么办?