Sobes.tech
Middle

MVVM arxitektura naqshasi nima?

sobes.tech AI

AIdan javob

MVVM (Model-View-ViewModel) naqshasi dasturiy ta'minotni uchta asosiy qismga bo'ladi:

  • Model: Ma'lumotlar va biznes mantiqini ifodalaydi. U foydalanuvchi interfeysidan mustaqil.
  • View: Bu foydalanuvchi interfeysining qatlamidir. U ViewModel-dan ma'lumotlarni ko'rsatadi va foydalanuvchi harakatlarini ViewModel-ga yuboradi. View ma'lumotlarni ishlash mantiqini o'z ichiga olmaydi.
  • ViewModel: View va Model o'rtasidagi bog'lovchi. U Model-dan ma'lumotlarni View uchun qulay formatda taqdim etadi va foydalanuvchi harakatlarini ishlov berib, Model-ni yangilaydi. ViewModel ma'lumotlarni taqdim etish va foydalanuvchi kirishlarini ishlash mantiqini o'z ichiga oladi.

Komponentlar o'rtasidagi bog'lanishlar odatda ma'lumotlarni bog'lash orqali amalga oshiriladi. View ViewModeldagi o'zgarishlarni kuzatadi va avtomatik ravishda yangilanadi, ViewModel esa View-dan keladigan voqealarga javob berishi mumkin.

// ViewModel misoli (shartli JavaScript)
class TodoViewModel {
  constructor(model) {
    this.model = model;
    this.todos = this.model.todos; // View uchun ma'lumotlarni taqdim etadi
    this.newTodoText = ''; // Viewdagi kirish maydonining holati
  }

  addTodo() {
    if (this.newTodoText.trim()) {
      this.model.addTodo(this.newTodoText.trim());
      this.newTodoText = ''; // Qo'shgandan so'ng maydonni tozalash
    }
  }

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