MVC (Model-View-Controller) mimarisi, yazılım mühendisliğinde kullanılmakta olan bir mimari desendir.
Mode – View – Controller kelimelerinin her biri ayrı bir katmanı ifade etmektedir.
Microsoft’un ASP.NET MVC Framework’u geliştirmesi ile çoğu kişi MVC yapısının Microsoft tarafından geliştirildiğini düşünmektedir. Lakin 1979 yılında Trygve Reenskaug tarafından geliştirilmiştir.
MVC mimarisi genişletilebilir, büyütülebilir projeler oluşturmak için en sık kullanılan mimaridir.
MVC Tasarım UML Şeması Katmanları sırası ile açıklayalım;
Model: Bu katman uygulamanın verilerini yönetir. Verinin durumunu değiştirebilir. Verinin durumu değişince kullanıcıyı bilgilendirebilir. Kısacası veritabanı, saklama, depolama gibi işlemlerin yapıldığı katman burasıdır.
View (Görünüm): Bütün kullanıcı arayüzü bu katmanda bulunur. Model katmanındaki verileri kullanıcı için uygun bir forma dönüştürür.
Controller (Kontrolcü): Kullanıcı girişlerini alıp uygun eylemleri gerçekleştirmesi için model nesnelerine çağrı yapar.
Aslında MVC yapısını bir fotoğrafçı örneği ile daha net anlayabiliriz. Bir stüdyo kamerası ile bir fotoğrafçıyı hayal edin. Gelen müşteri fotoğrafçıdan bir kutunun fotoğrafını çekmesini ister. Burada Model = Kutu , Cotroller = Fotoğrafçı, Kamera = View olarak düşünebiliriz. Fotoğrafçı kamerayı kontrol ettiği için kamerayı ayarladığı için controller olarak nitelendirilir. Kamera ise modelin görünümünü yansıttığı için view olarak nitelendirilebilir. Umarım bu örnek ile daha net anlaşılabilmiştir.