Ответ
Factory Builder — это паттерн проектирования, объединяющий Factory Method и Builder. Он позволяет создавать сложные объекты поэтапно, делегируя процесс создания отдельным фабрикам.
Основные преимущества:
- Гибкость в создании объектов с разными конфигурациями
- Инкапсуляция логики создания
- Упрощение поддержки и масштабирования
Пример на Kotlin:
interface Car {
fun drive()
}
class Sedan : Car {
override fun drive() = println("Driving sedan")
}
class SUV : Car {
override fun drive() = println("Driving SUV")
}
class CarFactory {
fun createSedan(): Car = Sedan()
fun createSUV(): Car = SUV()
}
// Использование
val factory = CarFactory()
val myCar = factory.createSUV()
myCar.drive()
Особенно полезен при работе с большим количеством зависимостей или сложной логикой инициализации объектов.