MVC Nedir, Ne İşe Yarar?
MVC’nin açılımı, Model, View ve Controller anlamına gelir. MVC kodlarınızı düzenlemenin en popüler yollarından biridir.
MVC birbirine bağlı üç parçadan oluşan bir uygulama tasarım modelidir ve asıl işlevi, kodunuzun her bölümünün bir amacı olması ve bu amaçların farklı olmasıdır.
Kodunuzun bir kısmı uygulamanızın verilerini tutar, bir kısmı uygulamanızın güzel görünmesini sağlar ve bir kısmı ise uygulamanızın nasıl çalıştığını kontrol eder.
MVC modeli modern kullanıcı arayüzleri geliştirmek için yaygın olarak kullanılır.
Web uygulamalarının yanı sıra masaüstü veya mobil için bir program tasarlamak için gerekli temel parçaları sağlar.
Farklı modeller, görünümler ve denetleyiciler nesneler olarak ele alınıp bir uygulama içinde yeniden kullanılabildiğinden, nesne yönelimli programlama ile iyi çalışır.
1.Model
Model, bir program tarafından kullanılan verilerdir. Bu bir dosya , veritabanı veya bir video oyunundaki bir karakter veya modelleme gibi basit bir nesne olabilir.
2.View
View, bir uygulama içindeki nesneleri görüntüleme aracıdır. Kullanıcının görebileceği her şeyi içerir. Örneğin, herhangi bir müşteri görünümü, metin kutuları, açılır menüler vb. gibi tüm UI bileşenlerini içerir.
3.Controller
Controller hem modelleri hem de görünümleri günceller. Girişleri kabul eder ve ilgili güncellemeyi gerçekleştirir. Örneğin, bir controller, video oyunundaki bir karakterin niteliklerini değiştirerek modeli güncelleyebilir. Oyunda güncellenen karakteri göstererek görünümü değiştirebilir.
MVC’nin üç parçası da birbirine bağlıdır. View, kullanıcı için modeli görüntüler. Controller, kullanıcı girişini kabul eder ve modeli günceller ve buna göre görüntüler. Uygulama tasarımında MVC gerekli olmasa da, birçok programlama dili ve IDE , MVC mimarisini destekleyerek geliştiriciler için ortak bir seçim haline getirir.
Günlük hayattan bir MVC modeli örneği vererek bu konuyu pekiştirelim.
Araba sürme mekanizmasını MVC’ye örnek olarak gösterebiliriz.
Her araba üç ana parçadan oluşur.
Model- Depolama (benzin veya dizel tankı)
View- Kullanıcı arayüzü : (vites kolu, paneller, direksiyon simidi, fren vb.)
Controller- Mekanizma (motor)
Araba motordan çalışır, depodan yakıt alır, ancak yalnızca belirtilen kullanıcı arayüzü cihazlarını kullanarak çalışır. Görüldüğü üzere 3 bileşen de birbirine bağlı olarak çalışır.
MVC’nin Avantajları
MVC mimarisini kullanmanın başlıca faydaları şunlardır:
-MVC model bileşeni, kullanıcıdan ayrı olarak test edilebilir.
-Yeni müşteri türleri için daha kolay destek sağlar.
-Çeşitli bileşenlerin geliştirilmesi paralel olarak gerçekleştirilebilir.
-Bir uygulamayı üç birime bölerek karmaşıklığı önlemenize yardımcı olur. Model, View, Controller.
-Yalnızca, web uygulaması isteklerini tek bir denetleyici aracılığıyla işleyen bir Ön Denetleyici modeli kullanır.
-Test odaklı geliştirme için en iyi katkıyı sağlar.
-Web tasarımcıları ve geliştirici ekipleri tarafından desteklenen ve kullanılan web uygulamaları için iyi çalışır.
-Arama Motoru Optimizasyonu (SEO) dostu.
-Tüm sınıflar ve nesneler birbirinden bağımsızdır, böylece bunları ayrı ayrı test edebilirsiniz.
Özet
MVC platformu, SEO’ya uygun web sayfalarının ya da web uygulamalarının geliştirilmesini destek sağlar. Bu platformu kullanarak, belirli bir uygulamadan daha fazla ziyaret oluşturmak için SEO dostu URL’ler geliştirmek çok kolaydır. Bu geliştirme mimarisi, Test Odaklı Geliştirme uygulamalarında yaygın olarak kullanılır. Ayrıca JavaScript ve jQuery gibi komut dosyası dilleri, zengin özelliklere sahip web uygulamaları geliştirmek için MVC ile entegre edilebilir.
Bu nedenle, MVC tasarım modeli, yazılım uygulamaları oluşturmak için kesinlikle harika bir yaklaşımdır. MVC çerçevesinin uygulanması kolaydır, çünkü yukarıda verilen sayısız avantaj sunar. MVC modeli yardımıyla geliştirilen projeler daha az harcama ve daha kısa sürede kolaylıkla geliştirilebilir. Her şeyden önce, çoklu görünümleri yönetme gücü, MVC’yi web uygulamaları geliştirmek için en iyi mimari model haline getirir.