Junior — Middle
Ишке ашыруунун натыйжасы маанилүү эмес болсо, кайсы Builder шаблону колдонулат?
sobes.tech AI
AIден жооп
Объект түзүү натыйжасы маанилүү эмес болсо, Fluent Interface ыкмасы менен Builder үлгүсү колдонулат, анда ыкмалар өзү кайтарат, бул конфигурация үчүн ыкмалардын чынжырын чакырууга мүмкүндүк берет, бирок акыркы объект колдонулбашы же керек болбошу мүмкүн. Бул жакындаштыруу көбүнесе конфигурация же жөндөөлөр үчүн колдонулат, анда параметрлерди орнотуу процесси маанилүү, акыркы объектти түзүү эмес.
Kotlin үчүн Android мисалы:
class LoggerBuilder {
private var level: String = "INFO"
private var tag: String = "App"
fun setLevel(level: String) = apply { this.level = level }
fun setTag(tag: String) = apply { this.tag = tag }
fun build() {
// Бул жерде объект кайтарылбайт, биз гана логгерди конфигурациялайбыз
println("Logger деңгээли=$level жана теги=$tag менен конфигурацияланды")
}
}
// Колдонуу:
LoggerBuilder()
.setLevel("DEBUG")
.setTag("MyApp")
.build() // Натыйжа маанилүү эмес, конфигурация процесси маанилүү