Junior — Middle
Pode explicar o princípio de funcionamento do padrão 'Builder' e qual é a sua principal aplicação?
sobes.tech IA
Resposta da IA
O padrão "Builder" é utilizado para criar objetos complexos passo a passo, separando o processo de construção da sua representação. Isso permite criar diferentes variantes do objeto usando o mesmo processo de construção.
A ideia principal é ter uma classe separada (construtor) que acumula os parâmetros e passos para criar o objeto, e depois retorna uma instância pronta.
Aplicações:
- Quando o objeto tem muitos parâmetros, especialmente opcionais.
- Quando é necessário criar objetos com configurações diferentes.
Exemplo em Swift:
class Car {
var color: String?
var seats: Int?
var engine: String?
}
class CarBuilder {
private var car = Car()
func setColor(_ color: String) -> CarBuilder {
car.color = color
return self
}
func setSeats(_ seats: Int) -> CarBuilder {
car.seats = seats
return self
}
func setEngine(_ engine: String) -> CarBuilder {
car.engine = engine
return self
}
func build() -> Car {
return car
}
}
// Utilização:
// let car = CarBuilder().setColor("Red").setSeats(4).setEngine("V8").build()