Junior — Middle
Puoi spiegare cos'è il pattern architetturale MVVM e come viene applicato nello sviluppo delle interfacce?
sobes.tech AI
Risposta dell'AI
MVVM (Model-View-ViewModel) — pattern architetturale ampiamente utilizzato per lo sviluppo di interfacce utente, specialmente in applicazioni con binding dei dati.
- Model — contiene dati e logica di business.
- View — responsabile della visualizzazione dell'interfaccia e dell'interazione con l'utente.
- ViewModel — intermediario tra Model e View, contiene la logica di presentazione e lo stato dell'interfaccia.
Su iOS, MVVM aiuta a separare la logica dell'UI dalla logica di business, migliorando la testabilità e la manutenzione del codice. Il ViewModel fornisce dati e comandi alla View, e la View si iscrive ai cambiamenti tramite binding o osservatori.
Esempio (semplificato):
class UserViewModel {
var userName: String = "" {
didSet {
// notificare alla View del cambiamento
}
}
func fetchUser() {
// caricamento dati dal Model
userName = "Ivan"
}
}
class UserViewController: UIViewController {
var viewModel = UserViewModel()
@IBOutlet weak var nameLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
viewModel.fetchUser()
nameLabel.text = viewModel.userName
}
}
In questo modo, MVVM semplifica la gestione dello stato dell'UI e separa la logica dalla presentazione.