Junior — Middle
შეგიძლიათ ახსნათ დელეგირების კონცეფცია დიზაინის ნიმუშებში და როგორ გამოიყენება?
sobes.tech AI
პასუხი AI-სგან
დელეგაცია არის დიზაინის ნიმუში, სადაც ერთი ობიექტი გადასცემს კონკრეტული დავალების შესრულებას სხვა ობიექტს, რომელსაც დელეგატი ეწოდება. ეს საშუალებას აძლევს პასუხისმგებლობების განაწილებას და კოდის მოქნილობის გაზრდას.
iOS-ში, დელეგაცია ხშირად გამოიყენება მოვლენების ან მონაცემების გადაცემისთვის ობიექტებს შორის. მაგალითად, UITableView იყენებს დელეგატს უჯრედების არჩევის ან გარეგნობის კონფიგურაციისთვის.
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.