Junior — Middle
Ako je realizovaná interakcia medzi rôznymi vrstvami a komponentmi v viacvrstvovej architektúre systému?
sobes.tech AI
Odpoveď od AI
V viacvrstvovej architektúre systému sa interakcia medzi vrstvami a komponentmi zvyčajne uskutočňuje prostredníctvom jasne definovaných rozhraní a protokolov. Napríklad na iOS sa často používa vzor MVC alebo MVVM, kde View komunikuje s ViewModel alebo Controllerom, ktorí majú následne prístup k dátovému modelu. Komunikácia môže prebiehať cez delegátov, oznámenia (NotificationCenter), closures alebo reaktívne knižnice (Combine, RxSwift).
Príklad interakcie cez delegáta:
protocol DataUpdateDelegate: AnyObject {
func didUpdateData(_ data: String)
}
class Model {
weak var delegate: DataUpdateDelegate?
func fetchData() {
// Získanie dát
let data = "Nové dáta"
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("Aktualizované dáta: \(data)")
}
}