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.