Sobes.tech
Junior — Middle

Hoe wordt de interactie tussen de verschillende lagen en componenten in een meerlaagse systeemarchitectuur uitgevoerd?

sobes.tech AI

Antwoord van AI

In een multi-component systeemarchitectuur vindt de interactie tussen lagen en componenten meestal plaats via duidelijk gedefinieerde interfaces en protocollen. Bijvoorbeeld, op iOS wordt vaak het MVC- of MVVM-patroon gebruikt, waarbij de View interactie heeft met de ViewModel of Controller, die op hun beurt toegang krijgen tot het gegevensmodel. Communicatie kan plaatsvinden via delegates, notificaties (NotificationCenter), closures of reactieve bibliotheken (Combine, RxSwift).

Voorbeeld van interactie via delegate:

protocol DataUpdateDelegate: AnyObject {
    func didUpdateData(_ data: String)
}

class Model {
    weak var delegate: DataUpdateDelegate?
    func fetchData() {
        // Gegevens ophalen
        let data = "Nieuwe gegevens"
        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("Bijgewerkte gegevens: \(data)
}