posted 18 years ago
A factory method returns an object whose concrete type is not necessarily known. For example a factory method that promises to return an Appliance might return a Toaster or a Blender. In a more serious world, it might return a DatabasePersistanceEngine or a FileSystemPersistanceEngine. The caller only cares that the base type or interface is satisfied, and can work equally well with whatever concrete type comes back.
A builder goes through several steps to construct a more complex object or graph of objects. A factory method could certainly use a builder to make the thing it returns, or you could use a builder without a factory method.
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi