Sobes.tech
Junior — Middle

Comment implémenter le pattern Builder en Kotlin, en évitant l'utilisation de classes supplémentaires?

sobes.tech IA

Réponse de l'IA

En Kotlin, il est possible d'implémenter le pattern Builder sans créer une classe séparée, en utilisant des fonctions avec des lambdas et une approche DSL. Cela permet de créer des objets avec des paramètres configurables de manière plus compacte et lisible.

Exemple d'implémentation du Builder avec une fonction et apply :

class User(var name: String = "", var age: Int = 0)

fun user(block: User.() -> Unit): User {
    return User().apply(block)
}

// Utilisation :
val newUser = user {
    name = "Иван"
    age = 30
}

Ici, la fonction user crée un objet User et lui applique un bloc de configuration, ce qui remplace le Builder classique avec plusieurs méthodes set.

Cette approche est pratique pour configurer des objets avec plusieurs paramètres optionnels sans code superflu.