Puoi spiegare i componenti principali del pattern architetturale Model-View-Controller?
sobes.tech AI
Risposta dell'AI
Il pattern architetturale Model-View-Controller (MVC) divide l'applicazione in tre componenti principali:
-
Model (Modello): responsabile dei dati e della logica di business. Il modello memorizza lo stato dell'applicazione e gestisce i dati, ad esempio caricandoli da un database o API.
-
View (Vista): responsabile della visualizzazione dei dati all'utente. La vista riceve i dati dal modello e li mostra, oltre a reagire all'input dell'utente.
-
Controller (Controllore): funge da intermediario tra Model e View. Gestisce le azioni dell'utente, aggiorna il modello e modifica la vista.
In iOS, ad esempio, UIViewController spesso svolge il ruolo di controllore, gestendo l'interazione tra modello e vista.
Esempio:
class UserModel {
var name: String
init(name: String) {
self.name = name
}
}
class UserView {
func displayUserName(_ name: String) {
print("Nome utente: \(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)
}
}
Tale separazione semplifica la manutenzione e l'espansione dell'applicazione.