Junior — Middle
Kotlin-də əlavə sinflərdən istifadə etmədən Builder nümunəsini necə həyata keçirmək olar?
sobes.tech Süni İntellekt
AI-dan cavab
В Kotlin можно реализовать паттерн Builder без создания отдельного класса, используя функции с лямбдами и DSL-подход. Это позволяет создавать объекты с настраиваемыми параметрами более компактно и читаемо.
Пример реализации Builder с помощью функции и apply:
class User(var name: String = "", var age: Int = 0)
fun user(block: User.() -> Unit): User {
return User().apply(block)
}
// Использование:
val newUser = user {
name = "Иван"
age = 30
}
Здесь функция user создаёт объект User и применяет к нему блок настроек, что заменяет классический Builder с множеством методов set.
Такой подход удобен для конфигурирования объектов с множеством опциональных параметров без лишнего кода.