Bu makalemde sizlere Asp.Net Mvc teknolojisinin ne olduğunu ve bu teknolojiyle neler yapılabildiğini tanıtacağım..
Öncelikle şu yanlış algıyı ortadan kaldırmamız gerekiyor. MVC bir programlama dili değildir. MVC bir mimari desendir. Bunu bu şekilde bilmekte fayda var. Microsoftun kullanmak için geliştirdiği bu yapı aslında microsoftun sıfırdan ortaya koyduğu bir yapı değildir. Microsoft bu teknolojiyi kullanmaya başlamadan önce bile bu teknoloji vardı ve kullanılıyordu. Microsoft sadece bu teknolojiyi alarak kendilerine göre bir framework oluşturdular.
Neden MVC'yi Tercih Etmeliyiz ?
Asp.Net' i kullanarak zaten çok güzel web siteler yapabiliyorken neden birden önümüze bu teknolojiyi çıkarıp bunu kullanmamımızı istiyorlar. Asp.Net kullanılarak yapılan siteler baya bir karmaşık bir yapıya sahipti. Bu karmaşıklık özelliklede iş dünyasını çok olumsuz etkiliyordu. Bir projenin karmaşık olması şu anlama gelir. Eğer projede bir gün bir hata meydana gelirse o hatayı en erken o projeyi kodlayan ekip bulabilir. Mvc teknolojisinin getirmiş olduğu güzelliklerden bir tanesi de karmaşıklığı ortadan kaldırmaktır.
Proje MVC(model,view,controller) de katmanlara ayrıldığı için çok daha hızlı bir şekilde kodlanabilmektedir. Bu da bize zamandan tasarruf etmemizi sağlıyor.
MVC'nin bir diğer faydası ise url yapısını istediğimiz gibi ayarlayabiliyoruz. MVC'de çok gelişmiş bir url yapısı bulunmaktadır.
Model : Modelleme ile aynı anlama gelir. Yani biz projemizde veriler üzerinde kullanacağımız modeli bu yapı üzerinde belirliyoruz. Proje boyunca kullanılacak tüm nesneler bu kısımda oluşturulacaktır. Örnek vermek gerekirse bizim bir tane araç kiralama otomosyonumuz var. Biz araç bilgilerinin nasıl tutulacağını modelleriz ve verileri ona göre tutarız. Örneğin; aracın plakası, markası,modeli, yakıt türü vb. bilgileri alacağımız zaman bu model oluyor.
View : View kısmı ise kullanıcının görmüş olduğu tasarım kısmıdır.
Controller : Projedeki en zor işi bana göre controller yapmaktadır. Controller, model ile view arasında bir köprü görevi görmektedir. Clientten önce bir istek gelir, controller bu isteği modele iletir, modelden aldığı bilgileri tekrar view kısmına yani tasarıma yani clienta ulaştırır.
İlk bakışta bu teknoloji insana çok gereksiz geliyor. Lakin bu teknolojiyi kullandıkça ne kadar gerekli olduğunu ve ne kadar sevdiğinizi göreceksiniz.