我需要一些帮助来理解依赖注入。我试图避免使用全局状态(对象、属性等)并尝试实现依赖注入。我的问题特别如下:假设我从 uri 获取请求,并且知道这一点,我调用了演示者和方法。当我在处理 uri 请求时实际上不知道它需要什么时,我无法理解如何仅将其需要的东西发送给特定的演示者。我可能会对事情感到困惑和误解,这就是我在这里写的原因。
如果我使用注册表,那么我将可以使用存储在其中的所有对象,但这就是我们试图避免的,对吧?另一方面,如果我使用依赖注入,我将需要通过构造函数或通过 mutator 方法发送我需要的对象,但正如我已经说过的,我不知道演示者在处理时需要什么请求。真的有可能在不使用某种全局的情况下完成这项工作吗?
如果有人能向我解释如何处理这个问题,我将不胜感激,或者向我指出一些我可以更好地理解它的资源。