Sobes.tech
Junior — Middle

Ishga tushirish natijasining muhim emasligi holatida qaysi Builder shabloni qo'llaniladi?

sobes.tech AI

AIdan javob

Obyektni qurish natijasi muhim bo'lmagan hollarda, Fluent Interface usuli bilan Builder shabloni qo'llaniladi, bu yerda metodlar o'zini qaytaradi, bu esa konfiguratsiya uchun metodlar zanjirini chaqirish imkonini beradi, ammo yakuniy obyekt foydalanilmasligi yoki kerak bo'lmasligi mumkin. Bu yondashuv ko'pincha sozlash yoki konfiguratsiya uchun qo'llaniladi, bunda muhim bo'ladigan parametrlarni o'rnatish jarayoni, yakuniy obyektni yaratish emas.

Kotlin uchun Android misoli:

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() {
        // Bu yerda obyekt qaytarmaydi, faqat loggerni sozlaydi
        println("Logger level=$level va tag=$tag bilan sozlandi")
    }
}

// Foydalanish:
LoggerBuilder()
    .setLevel("DEBUG")
    .setTag("MyApp")
    .build()  // Natija muhim emas, sozlash jarayoni muhim