MVC, bir mimari desendir. Yani, Microsoft’a özgü bir durum değildir. MVC mimari deseni,  aslına bakarsanız üç bileşenden oluşur. Bu bileşenler, model, view, controller olmaktadır. Şöyle ki bu bileşenler tamamen ara yüz ile alakalı bileşenleri temsil eder. Katmanlı mimari değildir. Bu bir ara yüz için mimarisi desenidir. Tasarım kalıpları bir proje geliştirirken, özellikle nesnel ürünlü bir dünyada, görsel çizimlerin gelmesiyle birlikte hayatımıza girdiler. Bu çizimler ve proje kalıpları bize, bazı projelerle ilgili hız kazandırıyor. Hatalarımızı daha iyi algılamamızı sağlıyor. Test stratejileri geliştirip, bu stratejileri uygulayarak daha başarılı testler yapmamızı sağlıyor, ve geliştirme süresini hızlandırıyor. Yani, mvc kısaca, web uygulamalarının hızlı bir şekilde çalışmasını sağlayan bir uygulama geliştirme yöntemi olarak karşımıza çıkıyor.


 Mvc Yapısında Üç Bileşen

 Mvc tasarım yapısında model, view, controller olmak üzere üç yapı bulunduğundan bahsettik. Mvc tasarım yapısı aslında çok sık kullanılan bir yapı. Bir web uygulamasında, ana sayfayı açmak istediğinizde veya öğrencileri listelemek istediğinizde, isteği alan ilk yer controller’dir. Controller adrese bakıp, devreye girer. Kısacası controller, bir istek geldiğinde ne yapılacağına karar verir. Yani, ne yapılacağını yazdığınız yerdir aslında. View katmanı, klasik bildiğimiz Asp net sayfaları olarak kendini gösteriyor. Burada biraz daha yazılım kısımları devreye giriyor. Controller katmanı ise, model ile view arasında bir köprü görevi görüyor. Örneğin, bir müşteriler tablosundan veri almak istediğinizde home controller de gerekli sorguyu yapıyorsunuz ve view'e geriye döndür deyip, çekmiş olduğunuz verileri view’ e gönderiyorsunuz. Ayrıca bu tasarım deseninde illa üçünü kullanmak gerekmiyor. Bazen direkt olarak controllerden  view’ a geçiş sağlanabiliyor.


 Üç Bileşen Her Zaman Birlikte Kullanılmaz

 Bünyesinde üç bileşen barındıran mvc mimarisi çalışma şekli şu şekilde olabilmektedir. Bazen sadece controller çalışıyor, ne model ne view hiçbir şey devreye girmiyor. Bu da mümkün olabiliyor. Dolayısıyla controller ve view bu şekilde deveye girebiliyor. Bizim yapmamız gereken bir modeli alıp view a taşımak. Örneğin bir müşteri listesini view’ de göstermek lazım. Controller diyor ki, view sen açılacaksın,  ben sana bir data gönderiyorum. Data, modelde belirtilen nesnedir. Kısacası controller isteği alan yeri temsil ediyor. View görüntü kısmını,  model ise, view’ de gösterilecek data veya view’ den controllere kullanıcı tarafından doldurulup gönderilen datayı temsil ediyor.

 Örneğin bir müşteri listesi alınacaksa controllerden view’ a data gönderilir. View onu tasarımsal şekilde gösterir. Veya bir müşteri kayıt formunda kullanıcı, müşteri bilgilerini doldurur, controller’e model olarak gönderir. Yani bunlar tamamen kendi aralarında bir etkileşime sahiptirler.


 Mvc Neden Kullanılmalı?

 Yeni mezun bir bilgisayar mühendisi mvc tasarım kalıbını çok kullanır. Halen daha çok kullanılan bir kalıptır. Mvc aslında olmazsa olmaz bir teknolojidir. Müşteri portföyünü hedefleyen, oldukça başarılı bir pazarlama stratejisi olarak göz dolduran bir tasarım kalıbıdır mvc. Bu nedenlerden dolayı da sıklıkla tercih edilmektedir.