Sobes.tech
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.