Junior — Middle
რა არის დელეგაციის ნიმუშის როლი ობიექტზე ორიენტირებულ პროგრამირებაში და რატომ გამოიყენება?
sobes.tech AI
პასუხი AI-სგან
ობიექტ-ორინტირებული პროგრამირების მოდელი დელეგაციის (delegation) არის მეთოდი, რომელიც პასუხისმგებლობას კონკრეტული დავალების შესრულებაზე გადადის სხვა ობიექტზე. ნაცვლად იმისა, რომ კლასი თავად განახორციელოს გარკვეული ფუნქციონალობა, ის მას სხვა ობიექტს გადასცემს, რომელიც ამ დავალებაში სპეციალიზირებულია.
ეს საშუალებას აძლევს:
- პასუხისმგებლობების გადანაწილება კლასებს შორის, მოდულურობის გაუმჯობესება.
- კოდის გადამეორებითი გამოყენების გაზრდა.
- ფუნქციონალობის შენარჩუნებისა და გაფართოების გამარტივება.
- მემკვიდრეობის თავიდან აცილება, როდესაც საკმარისია კომპოზიცია.
მაგალითად, Android-ში ხშირად გამოიყენება დელეგაცია მოვლენის დამუშავებისთვის: აქტივობა გადასცემს ღილაკების კლიკების დამუშავებას ცალკე მოსმენის ობიექტს.
class ButtonHandler {
fun onClick() {
println("ღილაკი დაჭერილია")
}
}
class Activity {
private val handler = ButtonHandler()
fun buttonClicked() {
handler.onClick() // დელეგირება დამუშავებაზე
}
}