title: When does it make more sense to use the factory pattern rather than an overloaded constructor to instantiate an object?
body: <p>In Karl Seguin's <a href="http://codebetter.com/blogs/karlseguin/archive/2008/06/24/foundations-of-programming-ebook.aspx" rel="nofollow noreferrer">Foundations of Programming</a> there is a small section on using the factory pattern.  He closes the passage by stating "you can accomplish the same functionality with constructor overloading", but doesn't indicate when or why?</p>
  
  <p>So,when does it make more sense to use the factory pattern rather than an overloaded constructor to instantiate an object?</p>