Sobes.tech
Junior — Middle

Kun je de belangrijkste componenten van het architectuurpatroon Model-View-Controller uitleggen?

sobes.tech AI

Antwoord van AI

Het architecturale patroon Model-View-Controller (MVC) verdeelt de applicatie in drie hoofdcomponenten:

  • Model: verantwoordelijk voor gegevens en bedrijfslogica. Het model bewaart de toestand van de applicatie en beheert de gegevens, bijvoorbeeld door ze te laden uit een database of API.

  • View: verantwoordelijk voor het tonen van gegevens aan de gebruiker. De view ontvangt gegevens van het model en toont ze, en reageert ook op gebruikersinvoer.

  • Controller: fungeert als tussenpersoon tussen Model en View. Het verwerkt gebruikersacties, werkt het model bij en wijzigt de weergave.

In iOS speelt bijvoorbeeld UIViewController vaak de rol van controller, die de interactie tussen model en view beheert.

Voorbeeld:

class UserModel {
    var name: String
    init(name: String) {
        self.name = name
    }
}

class UserView {
    func displayUserName(_ name: String) {
        print("Gebruikersnaam is: \(name)")
    }
}

class UserController {
    var model: UserModel
    var view: UserView

    init(model: UserModel, view: UserView) {
        self.model = model
        self.view = view
    }

    func updateUserName(to newName: String) {
        model.name = newName
        view.displayUserName(model.name)
    }
}

Een dergelijke scheiding vergemakkelijkt het onderhoud en de uitbreiding van de applicatie.