title: Best Practices: What to use Reflection for?
body: <p>I was toying with the idea of allowing module to with a class in a properties file ; something like</p>
  
  <pre><code>availableModules.properties
  Contact=org.addressbook.ContactMain
  Business=org.addressbook.BusinessMain
  Notes=org.addressbook.Notes
  </code></pre>
  
  <p>...</p>
  
  <p>My framework will use reflection to instantiate the relevant modules, and thereafter call  methods on the relevant base classes, or pass the objects as parameters as required.</p>
  
  <ul>
  <li>Is the above a good place to use reflection? </li>
  <li>Are there any best practices on where to use reflection already posted on SO (I couldnt' locate one)? Could we start a list along those lines with any responses posted here?</li>
  </ul>
  
  <p>EDIT
  Here's another example of the kind of scenarios I have in mind.</p>
  
  <p>Some core code needed to determine the point of call.
  One application I saw achieved this by using reflection, another application used an exception. Would you deem the former to be a recommended scenario where reflection may be applied?</p>