HiveBrain v1.2.0
Get Started
← Back to all entries
patternjavaCritical

When would you use the Builder Pattern?

Submitted by: @import:stackoverflow-api··
0
Viewed 0 times
builderyouusethewouldwhenpattern

Problem

What are some common, real world examples of using the Builder Pattern? What does it buy you? Why not just use a Factory Pattern?

Solution

The key difference between a builder and factory IMHO, is that a builder is useful when you need to do lots of things to build an object. For example imagine a DOM. You have to create plenty of nodes and attributes to get your final object. A factory is used when the factory can easily create the entire object within one method call.

One example of using a builder is a building an XML document, I've used this model when building HTML fragments for example I might have a Builder for building a specific type of table and it might have the following methods (parameters are not shown):

BuildOrderHeaderRow()
BuildLineItemSubHeaderRow()
BuildOrderRow()
BuildLineItemSubRow()


This builder would then spit out the HTML for me. This is much easier to read than walking through a large procedural method.

Check out Builder Pattern on Wikipedia.

Code Snippets

BuildOrderHeaderRow()
BuildLineItemSubHeaderRow()
BuildOrderRow()
BuildLineItemSubRow()

Context

Stack Overflow Q#328496, score: 287

Revisions (0)

No revisions yet.