How much work is it reasonable for an object constructor to do? Should it simply initialize fields and not actually perform any operations on data, or is it okay to have it
Misko Hevery has a nice story on this subject, from a unit testing perspective, here.