Junior — Middle
Обяснете принципа на работа на архитектурния модел MVVM и неговите съставки.
sobes.tech AI
Отговор от AI
MVVM (Model-View-ViewModel) — архитектурен шаблон, който разделя логиката на приложението на три компонента:
-
Model — модел на данни и бизнес логика. Отговаря за работата с данните, например зареждане от мрежа или база данни.
-
View — потребителски интерфейс, който показва данните и приема действия от потребителя.
-
ViewModel — посредник между Model и View. Съдържа логиката за представяне, преобразува данните от модела във формат, подходящ за показване, и обработва командите на потребителя.
Принцип на работа:
- View се абонира за промените във ViewModel (например чрез обвързвания или наблюдатели).
- ViewModel иска данни от Model и актуализира състоянието си.
- При промяна на данните, ViewModel уведомява View, която обновява интерфейса.
Тази разделяне улеснява тестването и поддръжката на кода, тъй като UI и бизнес логиката са отделени.
Пример на Swift с използване на Combine:
class ViewModel: ObservableObject {
@Published var text: String = ""
func fetchData() {
// зареждане на данни и обновяване на text
text = "Данните са заредени"
}
}
// View се абонира за промените във ViewModel и автоматично обновява UI