这是我的代码(当然只是一个例子):
Employee manager = new DefaultEmployee(/* dependencies */);
Budget budget = new DefaultBudget(/* dependencies */);
Project project = new DefaultProject(manager, budget);
DefaultProject
依赖Employee
和Budget
,它们依赖于其他东西,等等等等。依赖的层次结构相当大(可能是数百种类型)。我可以硬编码(如示例中所示),或者我可能可以使用某种配置(XML 或 YAML)和一些可以在运行时创建这种层次结构的构建器。除了 Spring Framework,还有什么可用的解决方案吗?
请不要提供依赖注入。
这个片段与依赖注入设计模式无关,因为消费者没有任何指向容器的链接。而且,根本没有容器(这是DI模式的静态组件,是对OOP原则的粗暴违反),也没有控制反转。