Sobes.tech
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)")
    }
}