MVC (Model-View-Controller) Nedir?

MVC, Model, View ve Controller katmanlarından oluşmuş, yazılan uygulamanın iş katmanıyla kullanıcı arayüzünü ayrı tutan böylece uygulamanın farklı amaçlar için çalışan kısımlarında karışıklığı engelleyen bir yazılım mimarisidir. Masaüstü, web veya mobil uygulamalara uyarlanarak kullanılabilir fakat yapısının uygunluğu itibariyle çoğunlukla web projelerinde kullanılmaktadır.

Peki nedir bu Model, View, Controller ? Kısaca açıklayalım.

1. Model

  • Uygulamada kullanılacak olan nesneleri temsil eder. Uygulamanın kullanacağı veri burada şekillendirilir.
  • Tek katmanlı da olabilir isteğe göre çok katmanlı da..
  • Bilgi taleplerini yanıtlar ve durum değiştirmek için isteklere cevap verir.
  • Bir örnek verecek olursak projemizdeki DBKisiler  tablosuna karşılık gelir. Tablo kolonlarını tutar kişi bilgilerine ihtiyaç duyduğumuz zaman bize bilgileri yollar , kişi telefon numarasını değiştirmek istediğimizde değişikliğe imkan verir ve güncellemeyapılır.

2. View

  • Veriyi göstermekle sorumlu olan kısımdır, kullanıcı arayüzünü temsil eder.
  • Web uygulamasında tarayıcıda kullanıcıya gösterilen HTML sayfadır.

3. Controller

  • Adından da anlaşılacağı gibi algoritmayı ve uygulamanın işleyişini yöneten, projedeki tümişlemlerin yapıldığı kontrol bölümüdür.
  •  Model ve View arasındaki işlemleri yönetir.
  • View aracılığıyla kullanıcıdan verileri alır, Model’e aktarıp işlemleri gerçekleştirir ve tekrar sonucu View’e aktarır.

 

Çalışma Mantığı

Örneklendirerek anlatmanın daha faydalı olacağını düşündüğüm için çalışma mantığını örneklendirme ile anlatmaya çalışacağım. Bir MVC projesi çalıştırıldığında kullanıcıya tarayıcı ekranında View’leri gösterir. DBKisiler tablosuna ait kişileri listelemek için Listele butonuna tıkladığımızı varsayalım. Kullanıcının View üzerinden yaptığı bu istek Controller’ aktarılır. Controller isteği gerçekleştirmek için Model’e gider ve burada gerekli işlemleri yapar. Model’ den aldığı listeyi View’e getirir ve View aracılığıyla kullanıcıya gösterilir. Çalışma mantığı bu kadar kolay ve sistemlidir.

 

Soru ve görüşleriniz için yorum yapabilirsiniz. Kolay gelsin .. 🙂

 

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir