title: What layer is responsible for implementing a LazyLoading strategy for children objects of an entity
body: <p>Let's say you have an <strong>order</strong> as an aggregate root. An order contains one or more <strong>line items</strong>. </p>
  
  <p>It is my understanding that it's the repository's responsibility to instantiate an order object when asked. </p>
  
  <p>The line items can be loaded at the time of the order object's creation (eager loaded), or the line item  collection can be populated when it is accessed by the client code (lazy loaded).</p>
  
  <p>If we are using eager loading, it's seems that the repository code would take responsibility with hydrating the line items when the order is created. </p>
  
  <p>However if we are using lazy loading, how is the repository called when the LineItems collection is accessed without creating a dependency on the repository from the order domain class? </p>