Junior — Middle
Poți explica ce reprezintă modelul arhitectural MVVM și cum este aplicat în dezvoltarea interfețelor?
sobes.tech AI
Răspuns de la AI
MVVM (Model-View-ViewModel) — un model arhitectural utilizat pe scară largă pentru dezvoltarea interfețelor utilizator, în special în aplicațiile cu legare de date.
- Model — conține datele și logica de afaceri.
- View — răspunde pentru afișarea interfeței și interacțiunea cu utilizatorul.
- ViewModel — intermediar între Model și View, conține logica de prezentare și starea interfeței.
Pe iOS, MVVM ajută la separarea logicii UI de logica de afaceri, îmbunătățind testabilitatea și întreținerea codului. ViewModel oferă date și comenzi pentru View, iar View se abonează la schimbări prin binding-uri sau observatori.
Exemplu (simplificat):
class UserViewModel {
var userName: String = "" {
didSet {
// notifică View despre schimbare
}
}
func fetchUser() {
// încărcare date din 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
}
}
Astfel, MVVM simplifică gestionarea stării UI și separă logica de prezentare.