Junior — Middle
რისი შედეგი მისი შესრულების დროს მნიშვნელოვანი არ არის, რა ტიპის Builder შაბლონი გამოიყენება?
sobes.tech AI
პასუხი AI-სგან
როდესაც ობიექტის შექმნის შედეგი მნიშვნელოვანი არ არის, გამოიყენება Builder ნიმუში Fluent Interface მეთოდით, სადაც მეთოდები აბრუნებენ თავად შემქმნელს, რაც საშუალებას აძლევს მეთოდების ჯაჭვურად გამოძახებას კონფიგურაციისთვის, მაგრამ საბოლოო ობიექტი შეიძლება გამოყენებული არ იყოს ან საჭირო არ იყოს. ეს მიდგომა ხშირად გამოიყენება კონფიგურაციის ან რეგულირებისათვის, სადაც მნიშვნელოვანია პარამეტრების დაყენების პროცესი, არა საბოლოო ობიექტის შექმნა.
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() // შედეგი მნიშვნელოვანია არა, მნიშვნელოვანია კონფიგურაციის პროცესი