Use the Builder pattern when…



  • The algorithm for creating parts is independent from the parts themselves.
  • The object to be assembled might have different representations.
  • You need fine control over the construction process.