Sobes.tech
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