Sobes.tech
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()  // Արդյունքը կարևոր չէ, կարևոր է կոնֆիգուրացիայի գործընթացը