title: How exactly does dependency injection reduce coupling?
body: <p>I've done plenty of reading on Dependency Injection, but I have no idea, how does it actually reduce coupling?</p>
  
  <p>The analogy I have of DI is that all components are registered with a container, so theyre are like in a treasure chest. To get a component, you obviously register it first, but then you would have to interrogate the treasure chest (which is like a layer of indirection). Is this the right analogy? It doesn't make obvious how the "injection" happens, though (how would that fit in with this analogy?).</p>
  
  <p>Thanks</p>