Middle
MVP memarlıq nümunəsi nədir?
sobes.tech Süni İntellekt
AI-dan cavab
MVP (Model-Görünüm-Sunucu) memarlıq nümunəsidir və biznes məntiqini, məlumatları və istifadəçi interfeysini ayırmaq üçün istifadə olunur.
Əsas komponentlər:
- Model: Məlumatları və biznes məntiqini təmsil edir. Görünüş və ya Sunucu haqqında məlumatı yoxdur.
- View: Məlumatları göstərir, istifadəçi interfeysini təmin edir və istifadəçi fəaliyyətlərini Sunucuya yönəldir. Biznes məntiqini ehtiva etmir. View passivdir və yalnız Sunucudan alınan məlumatları göstərir.
- Presenter: Model və View arasında vasitəçi kimi fəaliyyət göstərir. İstifadəçi interfeysinin hadisələrini işləyir, Model-dən məlumat çıxarır və View-ni yeniləyir. Presenter təqdimat məntiqini ehtiva edir, lakin biznes məntiqini deyil. View-in vəziyyətini idarə edir.
Əlaqə:
- İstifadəçi View ilə qarşılıqlı əlaqədə olur.
- View, hərəkəti Sunucuya yönəldir.
- Sunucu hərəkəti işləyir:
- Lazım gələrsə, Model-i yeniləyir.
- Model-dən məlumat tələb edir.
- Yenilənmiş məlumatlarla View-ni yeniləyir.
Üstünlüklər:
- Test ediləbilənliyin yaxşılaşdırılması (Sunucu və Model, View-dən müstəqil şəkildə test edilə bilər).
- Məsuliyyətlərin bölünməsi.
- Daha yaxşı baxım.
Nümunə (sxem):
// Model
class DataModel {
getData() {
// ... məlumatların alınması məntiqi ...
return { message: "Modeldən salam!" };
}
}
// Görünüm (sözsüz UI kodu)
class TextView {
display(data) {
// Ekranda mətni yenilə
console.log(data.message);
}
onClickButton(handler) {
// Düyməyə handler qoş
}
}
// Sunucu
class Presenter {
constructor(model, view) {
this.model = model;
this.view = view;
this.view.onClickButton(this.handleButtonClick.bind(this)); // Hadisə bağlama
}
handleButtonClick() {
const data = this.model.getData();
this.view.display(data);
}
}
// İstifadə
const model = new DataModel();
const view = new TextView(); // Əsl UI görünüşü
const presenter = new Presenter(model, view);