Sobes.tech
Middle

MVP mimari deseni nedir?

sobes.tech yapay zeka

AI'dan gelen yanıt

MVP (Model-Görünüm-Sunucu) mimarisi, uygulamayı üç ana bölüme ayıran bir tasarım desenidir:

  1. Model: Verileri ve iş mantığını içerir. Görünüm veya Sunucu’dan bağımsızdır ve uygulamanın durumunu kapsüller.
  2. View: Verilerin kullanıcıya gösterilmesinden ve kullanıcı eylemlerinin yakalanmasından sorumludur. Temiz, pasif bir temsil olup, iş mantığı içermez. View, kullanıcı eylemlerini Sunucu’ya bildirir.
  3. Presenter: Model ile View arasında aracılık yapar. Model’den veri alır, işler ve gösterim için View’e iletir. View’den gelen olayları alır ve bu olaylara yanıt olarak Model’i yönetir. Sunucu, ne gösterileceği ve hangi eylemlerin gerçekleştirileceği konusunda karar verme mantığını içerir.

Avantajlar:

  • Sorumlulukların ayrılması: Mantık ve sunumun net bir şekilde ayrılması.
  • Test edilebilirlik: Model ve Sunucu, bağımsız olarak kolayca test edilebilir, çünkü kullanıcı arayüzüne bağlı değildirler.
  • Bakım kolaylığı: View, Model veya Sunucu’daki değişiklikler diğer bileşenleri daha az etkiler.
  • Bir Model için birden fazla View oluşturma imkanı: Farklı görünümler, aynı Sunucu ve Model mantığını kullanabilir.

Etkileşim örneği:

  1. Kullanıcı, View’deki bir düğmeye tıklar.
  2. View, olayı Sunucu’ya bildirir (Sunucu’nun metodunu çağırır).
  3. Sunucu, olayı alır, Model’den veri almak veya değiştirmek için erişir.
  4. Model, isteği işler ve sonucu Sunucu’ya geri döner.
  5. Sunucu, Model’den aldığı verileri kullanarak View’i günceller (View’in metodlarını çağırır ve yeni verileri gösterir).

MVP, farklı şekillerde uygulanabilir:

  • Pasif View: View tamamen pasiftir ve sadece Sunucu’dan aldığı verileri gösterir. Kullanıcı girişlerinin işlenmesi mantığı, Sunucu’da bulunur.
  • Denetleyici gözetimli: View, belirli bir gösterim mantığı içerir ve Sunucu, daha karmaşık işlemleri ve Model ile etkileşimi yönetir. View, durumu kısmen doğrudan Model’den veri bağlama (data binding) yoluyla güncelleyebilir.