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)")
}
}