Junior — Middle
Ի՞նչ է դերի դելեգացիայի պատկերն օբյեկտային ծրագրավորման մեջ և ինչու է այն օգտագործվում:
sobes.tech AI
Պատասխան AI-ից
Օբյեկտային ուղղված ծրագրավորման մեջ Դելեգացիայի նմուշը այն մեթոդն է, որով պատասխանատվությունը որոշակի առաջադրանքի կատարման համար փոխանցվում է այլ օբյեկտի։ Փոխարենը, որ դասը ինքն իրագործի որոշ ֆունկցիոնալություն, այն դելեգատ է այն այլ օբյեկտին, որը մասնագիտացած է այդ առաջադրանքի մեջ։
Սա թույլ է տալիս՝
- բաժանել պատասխանատվությունները դասերի միջև՝ բարելավելով մոդուլայնությունը։
- բարձրացնել կոդի վերաօգտագործելիությունը։
- պարզեցնել սպասարկումը և ֆունկցիոնալության ընդլայնումը։
- խուսափել ժառանգությունից, երբ կոմպոզիցիան բավարար է։
Օրինակ, Android-ում հաճախ օգտագործվում է դելեգացիան իրադարձությունների մշակման համար՝ ակտիվությունը դելեգատ է այն կոճակների սեղմումների մշակմանը՝ առանձին լսողի օբյեկտին։
class ButtonHandler {
fun onClick() {
println("Կոճակը սեղմվեց")
}
}
class Activity {
private val handler = ButtonHandler()
fun buttonClicked() {
handler.onClick() // դելեգատ ենք անում մշակումը
}
}