Junior — Middle
Come avviene l'interazione tra i diversi strati e componenti in un'architettura di sistema multilivello?
sobes.tech AI
Risposta dell'AI
In un'architettura di sistema a più componenti, l'interazione tra strati e componenti avviene generalmente attraverso interfacce e protocolli chiaramente definiti. Ad esempio, su iOS si utilizza spesso il pattern MVC o MVVM, dove la View interagisce con il ViewModel o Controller, che a loro volta accedono al modello di dati. La comunicazione può avvenire tramite delegati, notifiche (NotificationCenter), closures o librerie reattive (Combine, RxSwift).
Esempio di interazione tramite delegato:
protocol DataUpdateDelegate: AnyObject {
func didUpdateData(_ data: String)
}
class Model {
weak var delegate: DataUpdateDelegate?
func fetchData() {
// Recupero dati
let data = "Nuovi dati"
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("Dati aggiornati: \(data)")
}
}