Sobes.tech
Middle

MVP memarlıq nümunəsi nədir?

sobes.tech Süni İntellekt

AI-dan cavab

MVP (Model-View-Presenter) memarlıq nümunəsi tətbiqi üç əsas hissəyə bölür:

  1. Model: Məlumatları və biznes məntiqini ehtiva edir. View və ya Presenter-dən asılı deyil və tətbiqin vəziyyətini kapsülləyir.
  2. View: İstifadəçiyə məlumatların göstərilməsi və istifadəçi fəaliyyətlərinin tutulmasından məsuldur. Bu, saf, passiv, biznes məntiqi olmayan bir təqdimatdır. View, istifadəçi fəaliyyətləri barədə Presenter-ə məlumat verir.
  3. Presenter: Model və View arasında vasitəçi kimi fəaliyyət göstərir. Model-dən məlumat alır, onları emal edir və göstərmək üçün View-ə ötürür. View-dən hadisələri alır və bu hadisələrə cavab olaraq Model-i idarə edir. Presenter, nə göstəriləcəyi və hansı fəaliyyətlərin həyata keçiriləcəyi barədə qərar qəbul edən məntiqi ehtiva edir.

Üstünlüklər:

  • Məsuliyyətlərin bölünməsi: Məntiq və təqdimat arasında aydın bölünmə.
  • Test ediləbilənlik: Model və Presenter, istifadəçi interfeysindən asılı olmadığı üçün asanlıqla müstəqil test edilə bilər.
  • Dəstək və baxım asanlığı: View, Model və ya Presenter-də edilən dəyişikliklər digər komponentlərə daha az təsir edir.
  • Bir Model üçün çoxlu View-lər yaratmaq imkanı: Müxtəlif görünüşlər eyni Presenter və Model məntiqindən istifadə edə bilər.

Əlaqə nümunəsi:

  1. İstifadəçi View-dəki düyməyə klikləyir.
  2. View, hadisəni Presenter-ə bildirir (Presenter-in metodunu çağırır).
  3. Presenter hadisəni alır, məlumatları əldə etmək və ya dəyişdirmək üçün Model-ə daxil olur.
  4. Model sorğunu emal edir və nəticəni Presenter-ə geri qaytarır.
  5. Presenter, Model-dən məlumatları alır və View-i yeniləyir (View-in metodlarını çağırır və yeni məlumatları göstərir).

MVP müxtəlif yollarla həyata keçirilə bilər:

  • Passiv View: View tamamilə passivdir və yalnız Presenter tərəfindən ötürülən məlumatları göstərir. İstifadəçi girişlərinin emalı ilə bağlı bütün məntiq Presenter-dədir.
  • Nəzarətçi ilə müşahidə olunan: View müəyyən bir göstərim məntiqini ehtiva edir və Presenter daha mürəkkəb əməliyyatları və Model ilə qarşılıqlı əlaqəni idarə edir. View, data binding vasitəsilə Model-dən birbaşa vəziyyətini qismən yeniləyə bilər.