title: Enterprise Design Pattern Question
body: <p>Something on my mind about structuring a system at a high level. </p>
  
  <p>Let's say you have a system with the following layers: </p>
  
  <ul>
  <li>UI </li>
  <li>Service Layer</li>
  <li>Domain Model</li>
  <li>Data Access</li>
  </ul>
  
  <p>The service layer is used to populate a graph of objects in the domain model. In an attempt to avoid coupling, the domain model will be not be persistence aware and will not have any dependencies on any data access layer. </p>
  
  <p>However, using this approach how would one object in the domain model be able to call other objects without being able to load them with persistence, thus coupling everything together - which I'd be trying to avoid. </p>
  
  <p>e.g. an Order Object would need to check an Inventory object and would obviously need to tell the Inventory object to load in some way, or populate it somehow.</p>
  
  <p>Any thoughts?</p>