Junior — Middle
Cum se realizează interacțiunea între diferitele straturi și componente într-o arhitectură de sistem multi-strat?
sobes.tech AI
Răspuns de la AI
Într-o arhitectură de sistem cu mai multe componente, interacțiunea dintre straturi și componente are loc de obicei prin intermediul unor interfețe și protocoale clar definite. De exemplu, pe iOS, se folosește adesea pattern-ul MVC sau MVVM, unde View interacționează cu ViewModel sau Controller, care la rândul lor accesează modelul de date. Comunicația poate avea loc prin delegați, notificări (NotificationCenter), closures sau biblioteci reactive (Combine, RxSwift).
Exemplu de interacțiune prin delegat:
protocol DataUpdateDelegate: AnyObject {
func didUpdateData(_ data: String)
}
class Model {
weak var delegate: DataUpdateDelegate?
func fetchData() {
// Obținerea datelor
let data = "Date noi"
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("Date actualizate: \(data)")
}
}