Sobes.tech
Junior — Middle

Ҳангоми натиҷаи иҷрои он муҳим набошад, кадом навъи шаблони Builder истифода мешавад?

sobes.tech AI

Ҷавоб аз AI

Ҳангоми объект тўплаш натижаси муҳим бўлмаса, Fluent Interface усули билан Builder шаблони қўлланилади, бу ерда методлар ўзини қайтариб, конфигурация учун методлар занжири чақиришга имкон беради, аммо охирги объект ишлатилмаслиги ёки керак бўлмаслиги мумкин. Бу ёндашув кўпинча конфигурация ёки тўғрилаш учун қўлланилади, бу ерда параметрларни ўрнатиш жараёни муҳим, охирги объектни яратиш эмас.

Android учун Kotlin мисоли:

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()  // Натижа муҳим эмас, конфигурация жараёни муҳим