title: DAO naming conventions
body: <p>I'm developing an app that needs to establish a connection with a DB. To operate through this connection I'm using DAO pattern. My question is related with the organization of the code and the name of interfaces and implementations. The current package structure is the next one:</p>
  
  <blockquote>
    <ul>
    <li>mainpackage</li>
    <li>mainpackage.model -> Models of each table to create objects with data fetched from DB</li>
    <li>mainpackage.persistence -> ConnectionManager</li>
    <li>mainpackage.persistence.dao -> Interfaces and implementations</li>
    </ul>
  </blockquote>
  
  <p>About the naming of interfaces I thought that would be a good idea to use something like ClassDAO and DefaultClassDAO for the implementation as long I don't know how to name it. What do you think? Is there any convention for this?</p>