title: Who is responsible for object conversion?
body: <p>Let's say I have ClassA and ClassB. ClassA is a controller, and ClassB is a DAO. ClassA, by some trivial means, generates a String. It then needs to store this String in the database, so it calls <code>someMethod</code> in ClassB. However, the database needs the value to be a Long before it's stored. In this situation, who is responsible for converting the String to a Long?</p>
  
  <p><strong>Option A</strong>: ClassA is responsible, and has logic to convert the String into a Long before calling <code>ClassB#someMethod(Long theLong)</code>.</p>
  
  <p><strong>Option B</strong>: ClassB is responsible, and <em>it</em> has the logic to convert the String into a Long. ClassA will be calling <code>ClassB#someMethod(String theString)</code>.</p>
  
  <p>In a world of best practices, which is correct?</p>