Sobes.tech
Middle

Čo je to architektonický vzor MVVM?

sobes.tech AI

Odpoveď od AI

Vzor MVVM (Model-View-ViewModel) rozdeľuje aplikáciu na tri hlavné časti:

  • Model: Predstavuje údaje a obchodnú logiku. Nie je závislý od používateľského rozhrania.
  • View: Je to vrstva používateľského rozhrania. Zobrazuje údaje z ViewModelu a odosiela akcie používateľa do ViewModelu. View neobsahuje logiku spracovania údajov.
  • ViewModel: Je spojkou medzi View a Modelom. Poskytuje údaje z Modelu v vhodnom formáte pre View a spracováva akcie používateľa, aktualizujúc Model. ViewModel obsahuje logiku prezentácie údajov a spracovania vstupu používateľa.

Prepojenia medzi komponentami sa zvyčajne realizujú cez dátové väzby. View sleduje zmeny vo ViewModel a aktualizuje sa automaticky, zatiaľ čo ViewModel môže reagovať na udalosti z View.

// Príklad ViewModelu (podmienený JavaScript)
class TodoViewModel {
  constructor(model) {
    this.model = model;
    this.todos = this.model.todos; // Poskytuje údaje pre View
    this.newTodoText = ''; // Stav pre vstupné pole vo View
  }

  addTodo() {
    if (this.newTodoText.trim()) {
      this.model.addTodo(this.newTodoText.trim());
      this.newTodoText = ''; // Vyčistí pole po pridaní
    }
  }

  removeTodo(index) {
    this.model.removeTodo(index);
  }
}