为什么依赖注入框架支持容器层次结构?

Jos*_*osh 6 dependency-injection

我一直在关注Daniel Cazzulino关于使用TDD构建DI容器系列文章.在本系列的第五部分中,他添加了对容器层次结构的支持,而没有评论使该功能有用的原因.我已经看到在许多DI框架中提到对层次结构的支持,但是我很难理解它们何时被使用,以及为什么.有人可以提供一些见解吗?

Mau*_*fer 1

下面是一个在类似于 Matt 描述的场景中使用子容器的示例。它使用子容器在不同的数据库配置之间进行选择。

这里的关键是大部分配置在子容器之间共享(共享部分属于父容器)