Junior — Middle
Czy możesz wyjaśnić, na czym polega wzorzec architektoniczny MVVM i jak jest stosowany w tworzeniu interfejsów?
sobes.tech AI
Odpowiedź od AI
MVVM (Model-View-ViewModel) — wzorzec architektoniczny szeroko stosowany do tworzenia interfejsów użytkownika, szczególnie w aplikacjach z wiązaniem danych.
- Model — zawiera dane i logikę biznesową.
- View — odpowiada za wyświetlanie interfejsu i interakcję z użytkownikiem.
- ViewModel — pośrednik między Modelem a Widokiem, zawiera logikę prezentacji i stan interfejsu.
Na iOS MVVM pomaga oddzielić logikę UI od logiki biznesowej, poprawiając testowalność i utrzymanie kodu. ViewModel dostarcza dane i polecenia dla View, a View subskrybuje zmiany przez wiązania lub obserwatorów.
Przykład (uproszczony):
class UserViewModel {
var userName: String = "" {
didSet {
// powiadomienie View o zmianie
}
}
func fetchUser() {
// ładowanie danych z Modelu
userName = "Ivan"
}
}
class UserViewController: UIViewController {
var viewModel = UserViewModel()
@IBOutlet weak var nameLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
viewModel.fetchUser()
nameLabel.text = viewModel.userName
}
}
W ten sposób MVVM upraszcza zarządzanie stanem UI i oddziela logikę od prezentacji.