By definition, “Separate the construction of a complex object from its representation so that the same construction process can create different representations.” There are actually a lot of builder pattern available. I found that very optimize pattern by Joshua Bloch in his book Effective Java 2nd edition. The sample I created is based from the most basic builder design pattern.
Download the source: here
The code basically showcase a simple vehicle builder classes that is used by a shop class to build the actual cars. It seems that the Shop is actually doing the building process yet the only thing it does is that it delegates the responsibility of building the objects in a builder class.