Sobes.tech
Middle

Ce este pattern-ul arhitectural MVVM?

sobes.tech AI

Răspuns de la AI

Model-View-ViewModel (MVVM) pattern împarte aplicația în trei părți principale:

  • Model: Reprezintă datele și logica de afaceri. Nu depinde de interfața cu utilizatorul.
  • View: Este stratul de interfață cu utilizatorul. Afișează datele din ViewModel și trimite acțiunile utilizatorului către ViewModel. View nu conține logică de procesare a datelor.
  • ViewModel: Este legătura între View și Model. Oferă date din Model într-un format convenabil pentru View și procesează acțiunile utilizatorului, actualizând Model-ul. ViewModel conține logica de prezentare a datelor și de procesare a intrărilor utilizatorului.

Legăturile între componente sunt de obicei realizate prin legături de date. View observă modificările din ViewModel și se actualizează automat, iar ViewModel poate reacționa la evenimentele din View.

// Exemplu de ViewModel (JavaScript condiționat)
class TodoViewModel {
  constructor(model) {
    this.model = model;
    this.todos = this.model.todos; // Oferă date pentru View
    this.newTodoText = ''; // Stare pentru câmpul de intrare din View
  }

  addTodo() {
    if (this.newTodoText.trim()) {
      this.model.addTodo(this.newTodoText.trim());
      this.newTodoText = ''; // Golește câmpul după adăugare
    }
  }

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