Java / Lombok Interview questions
What is the difference between Lombok's @Builder and the traditional Gang-of-Four Builder pattern?
The classic Gang-of-Four Builder pattern is typically hand-written as a separate, standalone class (often
with its own interface) explicitly responsible for assembling a complex object step by step, sometimes
supporting different construction algorithms or representations via a "Director" that orchestrates the
builder. Lombok's @Builder automatically generates a much simpler, single-purpose builder scoped
to just the annotated class, focused purely on the "fluent field-by-field construction" convenience rather
than the full flexibility of the original pattern.
| GoF Builder pattern | Lombok @Builder |
| Hand-written, can support multiple representations/directors. | Auto-generated, tied directly to one class's fields. |
| More ceremony, more flexibility for complex construction logic. | Minimal ceremony, covers the common "set fields fluently" case well. |
In practice, most real-world uses of "the builder pattern" in application code are really just this simpler, fluent-construction convenience — which is exactly what Lombok automates — rather than the full GoF pattern with its director/strategy flexibility, which is comparatively rare to need in ordinary business code.
More Related questions...