Junior — Middle
Можете ли да обясните какво представлява архитектурният модел MVVM и как се прилага при разработката на интерфейси?
sobes.tech AI
Отговор от AI
MVVM (Model-View-ViewModel) — широко използван архитектурен модел за разработка на потребителски интерфейси, особено в приложения с обвързване на данни.
- Model — съдържа данните и бизнес логиката.
- View — отговаря за показването на интерфейса и взаимодействието с потребителя.
- ViewModel — посредник между Model и View, съдържа логиката за представяне и състоянието на интерфейса.
В iOS MVVM помага да се отдели логиката на UI от бизнес логиката, подобрявайки тестируемостта и поддръжката на кода. ViewModel предоставя данни и команди за View, а View се абонира за промените чрез биндинги или наблюдатели.
Пример (опростен):
class UserViewModel {
var userName: String = "" {
didSet {
// уведомяване на View за промяна
}
}
func fetchUser() {
// зареждане на данни от 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
}
}
По този начин MVVM улеснява управлението на състоянието на UI и отделя логиката от представянето.