title: How much work should be done in a constructor?
body: <p>Should operations that could take some time be performed in a constructor or should the object be constructed and then initialised later.</p>
  
  <p>For example when constructing an object that represents a directory structure should the population of the object and its children be done in the constructor. Clearly, a directory can contain directories and which in turn can contain directories and so on.</p>
  
  <p>What is the elegant solution to this?</p>