title: Java package structure
body: <p>As a best-practice, is it ok for interfaces / classes in higher level packages to depend on interfaces / classes in lower level packages?</p>
  
  <p>e.g.</p>
  
  <p>can <code>com.company.core.SomeClass</code> depend on <code>com.company.core.apackage.AnotherClass</code></p>
  
  <p>Or should the dependencies flow the other way? I am trying to eliminate cycles between packages.</p>