Sobes.tech
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()  // αναθέτουμε την επεξεργασία
    }
}