Sobes.tech
Junior — Middle

Μπορείτε να εξηγήσετε την έννοια της ανάθεσης στα μοτίβα σχεδίασης και πώς εφαρμόζεται;

sobes.tech AI

Απάντηση από AI

Ο delegάς είναι ένα μοτίβο σχεδίασης όπου ένα αντικείμενο μεταβιβάζει την εκτέλεση μιας συγκεκριμένης εργασίας σε ένα άλλο αντικείμενο, που ονομάζεται delegάς. Αυτό επιτρέπει τον διαμοιρασμό ευθυνών και την αύξηση της ευελιξίας του κώδικα.

Στο iOS, ο delegάς χρησιμοποιείται συχνά για τη μεταφορά γεγονότων ή δεδομένων μεταξύ αντικειμένων. Για παράδειγμα, το UITableView χρησιμοποιεί έναν delegά για τη διαχείριση της επιλογής κελιών ή της διαμόρφωσης της εμφάνισης.

Παράδειγμα σε Swift:

protocol MyDelegate: AnyObject {
    func didFinishTask()
}

class Worker {
    weak var delegate: MyDelegate?

    func startTask() {
        // Εκτέλεση εργασίας
        // ...
        delegate?.didFinishTask()
    }
}

class Manager: MyDelegate {
    func didFinishTask() {
        print("Ολοκλήρωση εργασίας")
    }
}

let worker = Worker()
let manager = Manager()
worker.delegate = manager
worker.startTask()

Εδώ, το αντικείμενο Worker αναθέτει την ειδοποίηση για την ολοκλήρωση της εργασίας στο αντικείμενο Manager.