Junior — Middle
Ποιος είναι ο ρόλος του μοτίβου Delegation στον αντικειμενοστραφή προγραμματισμό και γιατί χρησιμοποιείται;
sobes.tech AI
Απάντηση από AI
Το μοτίβο Delegation στον αντικειμενοστραφή προγραμματισμό είναι ένας τρόπος μεταβίβασης της ευθύνης για την εκτέλεση μιας συγκεκριμένης εργασίας σε ένα άλλο αντικείμενο. Αντί η κλάση να υλοποιεί η ίδια μια λειτουργικότητα, την αναθέτει σε ένα άλλο αντικείμενο που ειδικεύεται σε αυτήν.
Αυτό επιτρέπει:
- Να διαχωρίζονται οι ευθύνες μεταξύ των κλάσεων, βελτιώνοντας τη δομική μονάδα.
- Να αυξάνεται η επανάχρηση κώδικα.
- Να απλοποιείται η συντήρηση και η επέκταση της λειτουργικότητας.
- Να αποφεύγεται η κληρονομικότητα όταν η σύνθεση είναι επαρκής.
Για παράδειγμα, στο Android, η delegating συχνά χρησιμοποιείται για την επεξεργασία γεγονότων: η δραστηριότητα αναθέτει την επεξεργασία των κλικ κουμπιών σε ένα ξεχωριστό αντικείμενο ακροατή.
class ButtonHandler {
fun onClick() {
println("Κουμπί πατήθηκε")
}
}
class Activity {
private val handler = ButtonHandler()
fun buttonClicked() {
handler.onClick() // αναθέτουμε την επεξεργασία
}
}