Sobes.tech
Junior — Middle

Ի՞նչ է դերի դելեգացիայի պատկերն օբյեկտային ծրագրավորման մեջ և ինչու է այն օգտագործվում:

sobes.tech AI

Պատասխան AI-ից

Օբյեկտային ուղղված ծրագրավորման մեջ Դելեգացիայի նմուշը այն մեթոդն է, որով պատասխանատվությունը որոշակի առաջադրանքի կատարման համար փոխանցվում է այլ օբյեկտի։ Փոխարենը, որ դասը ինքն իրագործի որոշ ֆունկցիոնալություն, այն դելեգատ է այն այլ օբյեկտին, որը մասնագիտացած է այդ առաջադրանքի մեջ։

Սա թույլ է տալիս՝

  • բաժանել պատասխանատվությունները դասերի միջև՝ բարելավելով մոդուլայնությունը։
  • բարձրացնել կոդի վերաօգտագործելիությունը։
  • պարզեցնել սպասարկումը և ֆունկցիոնալության ընդլայնումը։
  • խուսափել ժառանգությունից, երբ կոմպոզիցիան բավարար է։

Օրինակ, Android-ում հաճախ օգտագործվում է դելեգացիան իրադարձությունների մշակման համար՝ ակտիվությունը դելեգատ է այն կոճակների սեղմումների մշակմանը՝ առանձին լսողի օբյեկտին։

class ButtonHandler {
    fun onClick() {
        println("Կոճակը սեղմվեց")
    }
}

class Activity {
    private val handler = ButtonHandler()

    fun buttonClicked() {
        handler.onClick()  // դելեգատ ենք անում մշակումը
    }
}