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