Sobes.tech
Junior — Middle

Vai jūs varat izskaidrot deleģēšanas koncepciju dizaina modeļos un kā tā tiek piemērota?

sobes.tech AI

Atbilde no AI

Dēlegācija ir dizaina paraugs, kurā viens objekts nodod konkrētas uzdevuma izpildi citam objektam, sauktam par dēlegātu. Tas ļauj sadalīt atbildību un palielināt koda elastību.

iOS gadījumā dēlegācija bieži tiek izmantota notikumu vai datu pārraidīšanai starp objektiem. Piemēram, UITableView izmanto dēlegātu, lai apstrādātu šūnu izvēli vai ārējā izskata iestatījumus.

Swift piemērs:

protocol MyDelegate: AnyObject {
    func didFinishTask()
}

class Worker {
    weak var delegate: MyDelegate?

    func startTask() {
        // Veic uzdevumu
        // ...
        delegate?.didFinishTask()
    }
}

class Manager: MyDelegate {
    func didFinishTask() {
        print("Uzdevums pabeigts")
    }
}

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

Šeit, Worker objekts ar dēlegāta palīdzību paziņo par uzdevuma pabeigšanu objektam Manager.