In a language where both are available, would you prefer to see an instance constructor or a static method that returns an instance?
For example, if you\'re creating
There's a paper from ICSE'07 that studied the usability of constructors vs. factory patterns. While I prefer factory patterns, the study showed that developers were slower in finding the correct factory method.
http://www.cs.cmu.edu/~NatProg/papers/Ellis2007FactoryUsability.pdf