Sobes.tech
Junior — Middle

როგორ ხორციელდება ურთიერთქმედება სხვადასხვა ფენებსა და კომპონენტებს შორის მრავალსაფეხურიანი სისტემის არქიტექტურაში?

sobes.tech AI

პასუხი AI-სგან

მრავალშრიანი სისტემის არქიტექტურაში, ურთიერთქმედება ფენებსა და კომპონენტებს შორის ჩვეულებრივ ხდება მკაფიოდ განსაზღვრული ინტერფეისებისა და პროტოკოლების მეშვეობით. მაგალითად, iOS-ზე ხშირად გამოიყენება MVC ან MVVM ნიმუში, სადაც View ურთიერთქმედებს ViewModel ან Controller-თან, რომლებიც თავის მხრივ წვდომას ახდენენ მონაცემთა მოდელზე. კომუნიკაცია შეიძლება განხორციელდეს დელეგატების, შეტყობინებების (NotificationCenter), closures ან რეაქტიული ბიბლიოთეკების (Combine, RxSwift) მეშვეობით.

დელეგატის საშუალებით ურთიერთქმედების მაგალითი:

protocol DataUpdateDelegate: AnyObject {
    func didUpdateData(_ data: String)
}

class Model {
    weak var delegate: DataUpdateDelegate?
    func fetchData() {
        // მონაცემების მიღება
        let data = "ახალი მონაცემები"
        delegate?.didUpdateData(data)
    }
}

class ViewController: UIViewController, DataUpdateDelegate {
    let model = Model()
    override func viewDidLoad() {
        super.viewDidLoad()
        model.delegate = self
        model.fetchData()
    }
    func didUpdateData(_ data: String) {
        print("განახლებული მონაცემები: \(data)")
    }
}