I'm currently working on a code base that has many classes that implement a Start method. This seems like two-phase construction to me, which I had always considered a bad practice. I can't tell the difference between this and a constructor.
When is it appropriate to use a start method instead of normal object construction?
When should I prefer to use the constructor?
Edit: I don't think it is that relevant but the programming language is C#, it could equally apply to Java or C++
start
and the constructor? etc...init
method of some sort outside of thenew
function - perldoc.perl.org/perlobj.html . The idioms of one language may work well there and not in other languages.Start
methods in common APIs include threads and stopwatches.