The Builder pattern is concerned with the creation of complicated objects; that is, objects that cannot be built up in a single-line constructor call. These types of objects might themselves be composed of other objects and might involve less-than-obvious logic, necessitating a separate component specifically dedicated to object construction.
I suppose it is worth noting beforehand that, although I said the Builder is concerned with complicated objects, we will be taking a look at a rather trivial example. This is done purely for the purposes of space optimization, so that the ...