Sobes.tech
Middle

Mi az az MVVM architektúrális minta?

sobes.tech MI

Válasz az MI-től

Az MVVM (Model-View-ViewModel) minta az alkalmazást három fő részre osztja:

  • Model: Az adatok és az üzleti logika reprezentációja. Nem függ a felhasználói felülettől.
  • View: Ez a felhasználói felület rétege. A ViewModel-ből származó adatokat jeleníti meg, és a felhasználói műveleteket a ViewModel-be továbbítja. A View nem tartalmaz adatfeldolgozó logikát.
  • ViewModel: A View és a Model közötti összekötő. A Model-bből származó adatokat a View számára megfelelő formátumban szolgáltatja, és feldolgozza a felhasználói műveleteket, frissítve a Model-t. A ViewModel tartalmazza az adatok megjelenítésének és a felhasználói bemenetek kezelésének logikáját.

A komponensek közötti kapcsolatok általában adatkötelek révén valósulnak meg. A View figyeli a ViewModel-ben bekövetkező változásokat, és automatikusan frissül, míg a ViewModel reagálhat a View eseményeire.

// Példa ViewModel-re (feltételes JavaScript)
class TodoViewModel {
  constructor(model) {
    this.model = model;
    this.todos = this.model.todos; // Adatokat szolgáltat a View-hoz
    this.newTodoText = ''; // Állapot a View bemeneti mezőjéhez
  }

  addTodo() {
    if (this.newTodoText.trim()) {
      this.model.addTodo(this.newTodoText.trim());
      this.newTodoText = ''; // Törli a mezőt az hozzáadás után
    }
  }

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