MVC Nedir?

MVC(Model-View-Controller), ilk olarak 1979 yılında  Trygve Reenskaug tarafından tanımlandıktan sonra yazılım alanında kullanılmaya başlayan önemli bir mimari patern(architectural pattern)’dir. Ortaya atıldığı ilk yıllarda ismi “Thing-Model-View-Controller” sonradan basitleştirilerek şu an ki halini almıştır. MVC patern yazılım katmanlarının, örnek olarak display logic’ten data access logic’in, ayrı tutulduğu uygulamalar oluşturur.

MVC’de bir uygulamanın kullanıcı arayüzü 3 ana bölüme ayrılır:

  • Model: Data işlemlerinin ve iş kurallarının tanımlanır, class’lar oluşturulur
  • View: Kullanıcı arayüzünün nasıl gösterileceği tanımlanır
  • Controller: Kullanıcı arayüzündeki işlemler ile data ve/veya spesifik katman arasındaki iletişim sağlanır.

image

MVC tipik bir framework olmasına rağmen, özellikle bir mimaridir. Bunun anlamı spesifik class hiyerarşi veya object-oriented bir dil olmasa bile implement edilebilir.

MVC’yi Java’da, C++’ta, Php’de ve bir çok köklü dilde bulabilirsiniz.

ASP.NET MVC Nedir?

2002 yılında ilk defa yayınladığında(release), ASP.NET ve Web Form’ları bir bütün gibi ve aynı şey olarak düşünülüyordu. ASP.NET daima 2 katmanı destekledi:

  • System.Web.UI:Web Form katmanı, server kontrolleri, view state vb…
  • System.Web:modüller, handler’lar, HTTP Stack buna benzer
ASP.NET içerisinde geliştirilmiş hazır server kontrollerini sürükle-bırak yöntemi ile sayfalarımıza atıp, otomatik olarak bizim için oluşturulmuş HTML çıktılarına  sahip oluruz. Çalışmasını istediğimiz sayfadaki işlemleri handler’lar, moduller vasıtasıyla çalıştırırız. ASP.NET yerleşik olarak bir patern’e sahip değildir. Bu yazılım dünyası için büyük bir eksiklikti. ASP.NET MVC 2007 yılında duyuruluncaya kadar bu eksiklik hissedildi.

MVC patern’i web uygulamalarında sıklıkla kullanıyor, ASP.NET MVC içerisindeki kullanımı genel hatlarıyla:

  • Models: Kullanacağınız class’lar bulunur. Bu katmanda database’e erişim yollarınız ve metotlarınız yer almaktadır. Bu katman data erişim katmanı(access layer) olarak Entity Framework, NHibernate, ADO.NET ile database üzerinde veri işlemleri yapılması için kullanılır.
  • View: Dinamik olarak HTML kodları generate edilir.
  • Controller: View ve Model arasında ki iletişimi sağlar. Kullanıcı girişlerini yanıtlar, model ile haberleşir, hangi view’in render edileceğine karar verir.
Ayrıntılı bilgileri yazı dizimde yeri geldikçe konuşacağız.

Yaklaşık 2,5 yıl içerisinde 3 ana release oldu, Eylül ayındaki Build konferansında da ASP.NET MVC 4 Developer Preview olarak tanıtıldı.

Nasıl geliştirildi nerede geliştirildi kim geliştirdi diye soracak olursanız kısaca;

Şubat 2007 yılında, Microsoft’tan Scott Guthrie(“ScottGu”) tarafından ABD’nin doğu yakasındaki bir konferansa giderken uçakta ASP.NET MVC’nin çekirdeğini/temelini tasarlamıştır. Bir kaç yüz satır kod’dan oluşan basit bir uygulamaydı fakat salondakileri heyecanlandıran ve potansiyeli yüksek bir teknoloji olduğunu o zamandan hissettirmiştir.

 

alıntı : http://mcansozeri.wordpress.com/2011/11/27/mvc-nedir-asp-net-mvc-nedir/