title: What is your threshold to use factory instead of a constructor to create an object?
body: <p>What is your threshold to use factory instead of a constructor to create an object?</p>
  
  <ol>
  <li>You always use factory.</li>
  <li>You use factories only if you have invariant checks other than checking for nulls.</li>
  <li>You always use constructors</li>
  <li>You rarely use factories... what are those cases??</li>
  </ol>
  
  <p>pros and cons</p>
  
  <p>Update: I am applying factory pattern from Domain Driven Design in my project. And one of the reason behind creating factories is to reduce noise in the domain model. </p>
  
  <p>Thanks</p>