Junior — Middle
Ինչպես իրականացնել Builder մոդելը Kotlin-ում?
sobes.tech AI
Պատասխան AI-ից
Kotlin-ում Builder ձևանմուշը կարող է իրականացվել ներքին DSL-ով դասի կամ ներսի Builder դասի միջոցով: Սովորաբար օգտագործվում է apply՝ օբյեկտի հարմարավետ կոնֆիգուրացիայի համար:
კლասիկ Builder-ի օրինակ՝ ներսի դասով:
class User private constructor(
val name: String?,
val age: Int?
) {
data class Builder(
var name: String? = null,
var age: Int? = null
) {
fun name(name: String) = apply { this.name = name }
fun age(age: Int) = apply { this.age = age }
fun build() = User(name, age)
}
}
// Օգտագործում՝
val user = User.Builder()
.name("Ivan")
.age(30)
.build()
Նույնպես, lambda և apply ֆունկցիաները կարող են օգտագործվել ավելի իդիոմատիկ Kotlin ոճի համար:
data class User(var name: String? = null, var age: Int? = null)
fun user(block: User.() -> Unit) = User().apply(block)
// Օգտագործում՝
val user = user {
name = "Ivan"
age = 30
}