amerika gazete haberleri haberler
Yazılım

Nedir bu MVC? MVC yeni bir dil mi?

Son zamanlarda MVC konusunun iyice popüler olmasıyla insanların aklına “MVC yeni bir dil mi?” Soruları gelmeye başladı. MVC konusunu detaylı bir şekilde açıklamadan önce, MVC Nedir? Niye MVC gibi bir yapıya geçildi? Bu yapının geliştirilme sebebi neydi kısaca ondan bahsetmek istiyorum.

MVC Zannettiğiniz gibi yeni bir dil değil, aslında bir kod yazma biçimi, bir stil. MVC, Model View Controller kelimelerinin kısaltmasıyla oluşmuştur. MVC zannedildiği gibi sadece C# veya microsoft platformuna ait bir model değil. PHP ile yazılım geliştirmesi yapıyorsunuz ve bu tarz bir model kullanmak istiyorsanız, PHP ile de MVC modeli ile uygulama geliştirebiliyorsunuz.

MVC yapısı aslında, ASP.NET tarafında insanların işlerini çok daha kolaylaştırdığından, rahatça ajax, css, javascript, jquery işlemlerinin yapılabilmesiyle, aslında koda tam olarak müdahale edebilme rahatlığından dolayı tercih ediliyor. Eskiler bilirler, bir zamanlar ASP VBSCRIPT dilleri ile uygulama yazabiliyorduk. Burda bize sağlanan en büyük kolaylıkta, html kodları ile ASP kodlarını aynı blog içerisinde yazabiliyorduk. Tek bir dosyamız vardı, tek dosya üzerinden istediğimiz kodu yazıyor, istediğimiz döngüyü oluşturuyor, istediğimiz jquery dosyalarına değişken gönderebiliyorduk. Asp.NET Web Forms mantığına geçtiğimizde ise, kodları ayrı yerde yazıp, HTML tarafının uzağında kalıyorduk. Dolayısıyla JQuery gibi işimizi çok çok kolaylaştıran kütüphanelere uzak kalmış oluyorduk. Arka taraftan koda müdahale zor olduğu için, farklı farklı yollar keşfetmeye çalışıyorduk. MVC modeli ile aslında tam olarak eski ASP’ye dönmesek te, mantık olarak kısmi bir rahatlama görebiliyoruz. Arka tarafta yine kodlarımızı yazabiliyoruz, fakat HTML tarafında yeni bir döngü oluşturup  ya da kod blokları arasından jQuery’e müdahale edebilme şansını yakalıyoruz.

İnternette bu MVC kavramları ile alakalı standart cümleleri fazlası ile bulabiliyorsunuz. Ben işin biraz daha işleyiş tarafından bakarak daha basit bir anlatım yapmaya çalışacağım.

Model (Veri):

Model aslında tam olarak şu işi yapıyor. Sizin Controller’iniz ile View’inizle alakalı beyin görevini görerek, hangi işlemin nasıl yapılacağını, hangi parametre geldiğinde metni neye göre parçalayıp sana vereceğinden, veritabanına ekleme, silme işlemlerini yapabileceğiniz bir FONKSİYON görevi yapmakta. Yani tam olarak şu şekilde nitelendirebiliriz, Model dediğimiz yapı, bizim projemizin tam olarak “beyin” yapısını karşılıyor.

View (Görsel):

View kısmı, projemizin insanların göreceği tarafını, yani ön yüzünü gösteriyor. HTML kodlarının bulunduğu, HTML kodlarının arasında, döngüler oluşturabildiğimiz, tek satırla masterpage tanımlayabildiğimiz, veritabanından veri çekip, istediğimiz yerlerde gösterebileceğimiz, yani kısaca kullanıcılara neyi nerede göstereceğimizi barındıran kısım. Örneğin bir resim upload sistemi yapıyoruz. Resmin upload edileceği HTML formu burada tanımlıyoruz. Hemen altına gelip bir kaç satır kod ile, resmin upload edildiği klasörü alıp foreach döngüsü ile hemen html formun altında gösterebiliyoruz.

Controller (İş):

Controller yapısı bizim eski cs veya vb dosyalarımızın barındığı kod dosyalarına benzerlik gösteriyor. Kod ağırlıklı yaptığımız işlemler, Controller olarak tanımlanıyor ve kodlar controller dosyalarına yazılıyor. Örneğin yukardabir upload sisteminden bahsettik. Bir upload sisteminde, 3 tane ana başlık var. Resmin kullanıcıdan alınacağı HTML arayüz, resmin gösterileceği döngüler ve html formdan gelen dosyanın kayıt işleminin yapılacağı yer. Yukarda zaten formun ve resimlerin listelenme işlemlerini view kısmında yaptığımızı zaten söylemiştik. Controller’de ise, resmi formdan alıp, boyutlandırma, filtre uygulama, üzerine hologram yerleştirme gibi işlemleri yapabiliyoruz.

Kısaca 3 model bu şekilde açıklanabiliyor. Bunu şu resim çok net açıklıyor aslında.

Peki Bu MVC Ne zaman çıktı?

MVC aslında çok yeni bir uygulama geliştirme çatısı olarak görünüyor olsa da, 2008’de ilk defa CTP ile merhaba demişti. 2012’nin başlarında 4’üncü sürümün demoları yayınlandığında aslında tam olarak kullanılabilir hale getirildi.

  • CTP – 10 Aralık 2007
  • 1.0 – 13 Mart 2009
  • 2.0 – 10 Mart 2010
  • 3.0 – 13 Ocak 2011
  • 3.1 – 11 Nisan 2011
  • 4.0 – 15 Ağustos 2012
  • 5.0 – 17 Ekim 2013

Özet?

Kısaca özetleyecek olursak;

Model <<->> Controller <<->> View

yapı bu şekilde. Yani, Modelde veri katmanlarını oluşturuyor, Control’de işleniyor, View’de gösteriliyor. Ya da tam tersi, View’den veri alınıyor, Controller ile işleniyor, Modelle veri işlemi yapılıyor.

İlgili Makaleler

Başa dön tuşu
İstanbul evden eve nakliyat izmir dijital ajans dijital pazarlama