Middle
MVP mimari deseni nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
MVP (Model-Görünüm-Sunucu) mimarisi, iş mantığını, verileri ve kullanıcı arayüzünü ayırmak için kullanılan bir tasarım desenidir.
Ana bileşenler:
- Model: Verileri ve iş mantığını temsil eder. Görünüm veya Sunucu hakkında bilgi sahibi değildir.
- View: Verileri gösterir, kullanıcı arayüzü sağlar ve kullanıcı eylemlerini Sunucuya yönlendirir. İş mantığını içermez. Görünüm pasif olup, sadece Sunucudan alınan verileri gösterir.
- Presenter: Model ve View arasında aracı görevi görür. Kullanıcı arayüzü olaylarını işler, Model'den veri çeker ve View'yi günceller. Sunucu mantığını içermez, sadece görünüm mantığını barındırır. View'in durumunu yönetir.
İşleyiş:
- Kullanıcı View ile etkileşime girer.
- View, eylemi Sunucuya devreder.
- Sunucu, eylemi işler:
- Gerekirse Model'i günceller.
- Model'den veri ister.
- Güncellenmiş verilerle View'yi günceller.
Avantajlar:
- Test edilebilirliğin artırılması (Sunucu ve Model, View'den bağımsız olarak test edilebilir).
- Sorumlulukların ayrılması.
- Bakım kolaylığı.
Örnek (şematik):
// Model
class DataModel {
getData() {
// ... veri alma mantığı ...
return { message: "Modelden merhaba!" };
}
}
// Görünüm (sözde UI kodu)
class TextView {
display(data) {
// Ekranda metni güncelle
console.log(data.message);
}
onClickButton(handler) {
// Butona olay bağla
}
}
// Sunucu
class Presenter {
constructor(model, view) {
this.model = model;
this.view = view;
this.view.onClickButton(this.handleButtonClick.bind(this)); // Olay bağlama
}
handleButtonClick() {
const data = this.model.getData();
this.view.display(data);
}
}
// Kullanım
const model = new DataModel();
const view = new TextView(); // Gerçek UI görünümü
const presenter = new Presenter(model, view);