Differences

This shows you the differences between two versions of the page.

Link to this comparison view

it:ad:patterns:builder [2019/03/24 12:02] (current)
Line 1: Line 1:
 +# IT:​AD:​Patterns:​Builder #
  
 +
 +
 +<callout type="​Navigation"​ class="​small">​
 +* [[../​|(UP)]]
 +{{indexmenu>​.#​2|nsort tsort}}
 +
 +
 +</​callout>​
 +
 +
 +<panel title="​Summary">​
 +
 +Builders focus on constructing and configuring *complex* *aggregate* objects.
 +
 +
 +</​panel>​
 +
 +
 +## Notes ##
 +
 +Designs often start simply, only needing a [[IT/​AD/​Patterns/​Factory/​]],​ and evolve towards an [[IT/​AD/​Patterns/​Abstract Factory/]], [[IT/​AD/​Patterns/​Prototype/​]] or [[IT/​AD/​Patterns/​Builder/​]] as the developer discovers where more flexibiility is required.
 +
 +Builders are good candidates for a fluent interface.
 +
 +
 +
 +Builder focuses on constructing a complex object step by step. Abstract Factory emphasizes a family of product objects (either simple or complex). Builder returns the product as a final step, but as far as the Abstract Factory is concerned, the product gets returned immediately.
 +Builder often builds a Composite.