Junior — Middle
Aká je úloha vzoru Delegation v objektovo orientovanom programovaní a prečo sa používa?
sobes.tech AI
Odpoveď od AI
Vzor delegácie v objektovo orientovanom programovaní je spôsob prenášania zodpovednosti za vykonanie určitej úlohy na iný objekt. Namiesto toho, aby trieda sama implementovala určitú funkcionalitu, deleguje ju na iný špecializovaný objekt.
Toto umožňuje:
- Rozdelenie zodpovedností medzi triedami, zlepšenie modularity.
- Zvýšenie opakovanej použiteľnosti kódu.
- Zjednodušenie údržby a rozširovania funkcií.
- Vyhnutie sa dedičstvu tam, kde je dostatočná kompozícia.
Napríklad v Androide sa často používa delegácia na spracovanie udalostí: aktivita deleguje spracovanie kliknutí na tlačidlá na samostatný poslucháčsky objekt.
class ButtonHandler {
fun onClick() {
println("Tlačidlo bolo stlačené")
}
}
class Activity {
private val handler = ButtonHandler()
fun buttonClicked() {
handler.onClick() // delegujeme spracovanie
}
}