Junior — Middle
Pouvez-vous expliquer ce qu'est le modèle d'architecture MVVM et comment il est utilisé dans le développement d'interfaces ?
sobes.tech IA
Réponse de l'IA
MVVM (Model-View-ViewModel) — patron architectural largement utilisé pour le développement d’interfaces utilisateur, en particulier dans les applications avec liaison de données.
- Model — contient les données et la logique métier.
- View — responsable de l’affichage de l’interface et de l’interaction avec l’utilisateur.
- ViewModel — intermédiaire entre Model et View, contient la logique de présentation et l’état de l’interface.
Sur iOS, MVVM aide à séparer la logique UI de la logique métier, améliorant la testabilité et la maintenance du code. Le ViewModel fournit des données et des commandes à la View, et la View s’abonne aux changements via des liaisons ou des observateurs.
Exemple (simplifié):
class UserViewModel {
var userName: String = "" {
didSet {
// notifier la View du changement
}
}
func fetchUser() {
// chargement des données depuis le 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
}
}
Ainsi, MVVM facilite la gestion de l’état de l’UI et sépare la logique de la présentation.