Junior — Middle
Можете ли објаснити шта представља архитектурски образац MVVM и како се он примењује у развоју интерфејса?
sobes.tech АИ
Одговор од АИ
MVVM (Model-View-ViewModel) — široko korišćen arhitektonski obrazac koji se široko koristi za razvoj korisničkih interfejsa, posebno u aplikacijama sa vezivanjem podataka.
- Model — sadrži podatke i poslovnu logiku.
- View — odgovoran za prikaz interfejsa i interakciju sa korisnikom.
- ViewModel — posrednik između Modela i View-a, sadrži logiku prikaza i stanje interfejsa.
Na iOS-u, MVVM pomaže da se odvoji UI logika od poslovne logike, čime se poboljšava testabilnost i održavanje koda. ViewModel pruža podatke i komande za View, a View se pretplaćuje na promene putem veza ili posmatrača.
Primer (pojednostavljen):
class UserViewModel {
var userName: String = "" {
didSet {
// obavestiti View o promeni
}
}
func fetchUser() {
// učitavanje podataka iz Modela
userName = "Ivan"
}
}
class UserViewController: UIViewController {
var viewModel = UserViewModel()
@IBOutlet weak var nameLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
viewModel.fetchUser()
nameLabel.text = viewModel.userName
}
}
Na ovaj način, MVVM pojednostavljuje upravljanje stanjem UI i odvaja logiku od prikaza.