❓ Расскажите о паттерне BuilderBuilder — это
порождающий паттерн, который позволяет
создавать сложные объекты пошагово, разделяя процесс конструирования и представление.Простыми словами:
вместо конструктора с десятком параметров, вы собираете объект по частям, вызывая понятные методы.▪️ Когда использовать—
Объект имеет множество параметров (особенно необязательных)—
Нужна immutable-объект с удобным созданием—
Хотите избежать telescoping constructor (конструктор в конструкторе)▪️ Builder vs конструктор— Конструктор:
подходит, если параметров 2–3 и все обязательные— Builder:
если параметров больше 4 или есть необязательные▪️ МинусДублирование полей между классом и билдером. Lombok @Builder решает это автоматически.