Junior — Middle
Como implementar o padrão Builder em Kotlin, evitando o uso de classes adicionais?
sobes.tech IA
Resposta da IA
No Kotlin, é possível implementar o padrão Builder sem criar uma classe separada, usando funções com lambdas e uma abordagem DSL. Isso permite criar objetos com parâmetros configuráveis de forma mais compacta e legível.
Exemplo de implementação do Builder usando uma função e apply:
class User(var name: String = "", var age: Int = 0)
fun user(block: User.() -> Unit): User {
return User().apply(block)
}
// Uso:
val newUser = user {
name = "Иван"
age = 30
}
Aqui, a função user cria um objeto User e aplica um bloco de configuração, substituindo o clássico Builder com múltiplos métodos set.
Essa abordagem é útil para configurar objetos com múltiplos parâmetros opcionais sem código redundante.