title: Is doing a lot in constructors bad?
body: <p>Making all fields <code>final</code> is in general a good idea, but sometimes I find myself doing everything in the constructor. Recently I ended up with a class doing actually <em>everything</em> in the constructor, including reading a property file and accessing a database.</p>
  
  <p>On one hand, this is what the class is for, it encapsulates the data read and I like creating objects completely initialized. The constructor is not complicated at all as it delegates most of the work, so it looks fine.</p>
  
  <p>On the other hand, it feels a bit strange. Moreover, in <a href="http://www.youtube.com/watch?v=acjvKJiOvXw" rel="noreferrer">this talk</a> at about 17:58 there are good reasons for not doing much work in constructor. I think I can eliminate the problem by passing appropriate dummies as constructor arguments.</p>
  
  <p>The question remains: Is doing a lot of work (or even all the work) in constructors bad?</p>