Sobes.tech
Junior — Middle

Ako implementovať vzor Builder v Kotlin, vyhýbajúc sa používaniu ďalších tried?

sobes.tech AI

Odpoveď od AI

V Kotlinu je možné implementovať vzor Builder bez vytvárania samostatnej triedy pomocou funkcií s lambdami a prístupu DSL. To umožňuje vytvárať objekty s nastaviteľnými parametrami kompaktnejšie a čitateľnejšie.

Príklad implementácie Buildera pomocou funkcie a apply:

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

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

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

Tu funkcia user vytvára objekt User a aplikuje naň konfiguračný blok, čo nahrádza klasický Builder s mnohými metódami set.

Tento prístup je vhodný na konfiguráciu objektov s mnohými voliteľnými parametrami bez zbytočného kódu.