MVC (Model View Controller) Nedir?

10 / 08 / 2019

Birden fazla yazılımcının çalıştığı ve ekibe yeni yazılımcı dâhil olması muhtemel, ilerde okunabilir kod yapısı istenen, karmaşık ve büyük projelerde tercih edilen bir yazılım mimarisidir. Veri, yazılım ve gösterimin birbirinden soyutlanması esasına dayanır.

Bu mimari; günümüzün modern frameworklerinde aktif olarak kullanılmaktadır.

Model : Veri kaynağının  yani veritabanının bulunduğu bölümdür. Veri kaynağının yanı sıra prosedürler ve işleyiş kuralları da bu bölümde yer alır. Katmanlı mimariye müthiş uyumludur. Tek katmanlı olabileceği gibi fazlaca katmana da sahip olabilir.
View : Arayüz kısmı olup, arabirimde görünen kısımlar bu bölümde yer alır. Mesela MVC ile hazırlanmış bir web sitesi ya da uygulamada arayüze dair ne varsa html, javascript, css vs. bu bölümdedir. View bölümünde iş akışına ait bir şeyler bulunmaz. Ayrıca View bölümü sayesinde uygulamanın ara yüzü uygulamanın çekirdek kısmından ayrı tutulduğundan tasarımı ve tasarımın değiştirilmesi açısından bize avantaj sağlar.
Controller : İş akışının gerçekleştiği, ara yüzden gelen kullanıcı etkileşimlerinin değerlendirildiği, işlendiği, gerekli metodların çalıştırıldığı, değişkenlerin ve nesnelerin  oluşturulduğu, gerekirse modelle View bölümleri arasında iletişimin sağlandığı yer burasıdır. Her View için bir Controller vardır fakat her Controller için View şartı yoktur.

MVC altyapısı ile çalışan başlıca Php frameworkleri şunlardır:
– Laravel
– CodeIgniter
– CakePHP
– Symfony
– Zend Framework
– Phalcon
– Yii
– Aura