title: Why reflection in dependency injection?
body: <p>I am learning about Dependency Injection. I understand the basic reason why it is vital when developing large applications.</p>
  
  <p>It seems Dependency Injection uses reflection to achieve some of its goals. To me it seems that reflection is a kind of reverse engineering.</p>
  
  <p>Why and how is Reflection used and is it optional?</p>