MVC (Model-View-Controller) Nedir?

Model-View-Controller (MVC), yazılım mühendisliği’nde kullanılan bir “mimari desen”dir. Kullanıcıya yüklü miktarda verinin sunulduğu karmaşık uygulamalarda veri ve gösterimin soyutlanması esasına dayanır. Böylece veriler (model) ve kullanıcı arayüzü (view) birbirini etkilemeden düzenlenebilir.

model-view-controller

MVC (Model – View – Controller), geliştirmekte olduğumuz projenin iş mantığı ile kullanıcı arayüzünü birbirinden ayıran, projenin farklı amaçlara hizmet eden kısımlarının birbirine girmesini engelleyen yazılım mimarisidir.

MVC yapılarını kullanarak projenin farklı amaçlara hizmet eden yapılarını birbirinden ayırarak, kodu daha rahat geliştirilebilir ve test edilebilir hale getirmiş oluruz.

Model

Projede kullanılan verileri temsil eder ve verilerin nasıl işleneceğinin saklandığı kısımdır. Verilerin veritabanı, XML gibi kaydedilmesi veya kayıtlı yerden alınması işlemlerini yerine getirir.

View

Projemizi kullanan kişilerin gözüyle gözdüğü kısımdır diyebiliriz yani arayüz işlemlerinin yapıldığı kısımdır.

Controller

Model ve View arasındaki bağı kuran gerekli işlemleri yerine getiren yapıdır.
Kullanıcıların View üzerinden gerçekleştirdiği işlemleri baz alarak alınan veriyi işlenmesi gerekiyorsa işler, Model’e gönderilmesi gerekiyorsa Model’e gönderir. Model’den almış olduğu verileri View yani arayüz üzerinden kullanıcılara gösterir.

MVC yapılarındaki temel Model ve View yapısının birbirinden ayrılmasıdır. İki yapı arasındaki iletişimi ve işlemleri sağlayan yapıya Controller diyoruz.