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