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.