MVC (Model-View-Controller) Nedir ?

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.

MVC Avantajları Nelerdir ?

  • MVC hızlı ve paralel gelişmeyi destekler. Herhangi bir web uygulamasının geliştirilmesinde MVC kullanılıyorsa, bir programcının view üzerinde çalışabilmesi, diğerinin ise web uygulamasının iş mantığını oluşturmak için controller üzerinde çalışabilmesi mümkündür. Bu şekilde, MVC modeli kullanılarak geliştirilen uygulama, diğer geliştirme modelleri kullanılarak geliştirilen uygulamalardan üç kat daha hızlı tamamlanabilir.
  • Web uygulamanızda renkleri, yazı tiplerini, ekran düzenlerini değiştirme ve cep telefonları veya tabletler için yeni cihaz desteği ekleme gibi sık sık değişiklikler yaptığınız açıktır. Dahası, Model parçası görünümler kısmına bağlı olmadığından, MVC modelinde yeni bir görünüm türü eklemek çok kolaydır. Bu nedenle, Modeldeki herhangi bir değişiklik tüm mimariyi etkilemez.
  • MVC platformu SEO dostu web sayfalarının veya web uygulamalarının geliştirilmesini destekler. Bu platformu kullanarak, belirli bir uygulamadan daha fazla ziyaret oluşturmak için SEO dostu URL’ler oluşturmak çok kolaydır.  Ayrıca, JavaScript ve jQuery gibi kodlama dilleri, zengin özelliklere sahip web uygulamaları geliştirmek için MVC ile entegre edilebilir.

MVC Dezavantajları Nelerdir ?

  • MVC mimarisini anlamak zordur.

Avantajlara göre dezavantaj oldukça az olduğu için görmezden gelebiliriz.

AvatarYazar:

Yıllardır internetle haşır neşir, bir şeyler üretmeyi seven, müzik ve teknolojiyle arası iyi bir zat-ı muhterem.

1 Yorum

Bir cevap yazın

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