ASP.Net MVC Framework mimarisini kapsayacak bu yazı dizisinin ilk makalesinde MVC mimarisini tanıyarak önyargılara cevaplar bulalım.
Önyargı mı? Diyebilirsiniz birçoğunuz. Ancak ne yazık ki birçok kişi tarafından yanlış kaynaklardan elde edilen bilgiler neticesinde MVC zor, gereksiz gibi ithamlara maruz kalmıştır. Makale sonunda MVC sevenler ve koruyanlar derneğine üyelik linkini de paylaşacağım :)
İlk olarak MVC dili tanımına açıklık getirmek istiyorum. Birçok kişi tarafından MVC mimarisi dil olarak anılmaktadır. Oysaki MVC mimarisi bir dil değil sadece bir dile ait yeni standartlar ve bu standartlar sayesinde dilin yapabileceklerini özelleştirmeyi veya yazılımcı tarafından kolaylaştırmayı sağlayan bir yapıdır.
Bir sonraki açıklık getirmek istediğim konu ise MVC mimarisinin Microsoft tarafından üretilmiş olmasıdır. MVC mimarisi ile ilgili olarak Microsoft firması tarafından çok özenle hazırlanmış bir Framework vardır. Zaten MVC mimarisi ile birçoğumuzun tanışmasını da bu Framework sağladığından dolayı MVC mimarisinin üreticisini Microsoft sanmamız normaldir.
Nereden çıkarttın şimdi bunu dememeniz için aşağıdaki alıntı ile bunu tescilleyerek suçu üzerimden atayım :)
Model-View-Controller (MVC), yazılım mühendisliği’nde kullanılan bir “mimari desen”dir. Kullanıcıya yüklü miktarda verinin sunulduğu karmaşık uygulamalarda veri ve gösterimin soyutlanması esasına dayanır. Böylece veriler (model) ve kullanıcı arayüzü (view) birbirini etkilemeden düzenlenebilir. Model-view-controller, bunu controller adı verilen ara bileşenle, veri gösterimi ve kullanıcı etkileşiminden, veri erişimi ve iş mantığını çıkarma suretiyle çözmektedir.
1979 yılında bu tasarım ortaya çıkmış olsa da günümüzde Microsoft’un ASP.NET MVC Framework’u geliştirmesi ile çoğu kişi için MVC denince akla ASP.NET MVC Framework gelmektedir. Oysa Microsoft şirketinin henüz yeni kurulmuş olduğu dönemlerde bu tasarım kalıbı vardı.
Desen ilk defa 1979’da Trygve Reenskaug tarafından tanımlandı ve sonra Xerox araştırma laboratuvarlarında Smalltalk üzerine çalışmalar devam etti. Detaylı özgün gerçekleştirim Applications Programming in Smalltalk-80(TM):How to use Model-View-Controller adlı belgede tanımlıdır.
Kaynak : Wikipedia
MVC mimarisini bu kadar koruyup kolladıktan sonra biraz da ne gibi özelliklere sahip ona değinelim.
MVC mimarisi Model – View – Controller kelimelerinin baş harflerinden ve bu kelime anlamlarının işaret ettiği katmanlardan oluşan bir yapıdır. Bu yapı içeriğine değinmek gerekirse;
Model : Veritabanı ve veri işlemlerini gerçekleştiren tek yada çoklu katmanların barındırıldığı katmandır. Bu katman içeriğinden verilerimiz bir collection olarak sunulmakta ve controller katmanı tarafından erişime hazır hale getirilmektedir.
View: Yapılan uygulamaya ait kullanıcının gördüğü arayüzdür. Bu arayüz içerisinde tasarım içeriği olarak kullandığımız HTML, JavaScript, Css kodlarına yer verebilir ve projemizin vitrin tarafını hazırlayabiliriz.
Controller: Uygulamaya ait yönetim mekanizmasının olduğu bölümdür. Controller içerisinde kullanıcıdan gelen isteklerin değerlendirilmesi, Model ile View arasındaki etkileşimin yapılabilmesi gibi projenin çalışma anındaki iş akışının yönetilmesi ile ilgili kodlamaları gerçekleştirebiliriz.
Basit olarak tanımlamamız gerekirse bir MVC projesi Kullanıcıdan gelen istekleri Controller içerisinde işleyerek Model katmanı tarafından sunulan verileri View arayüzü ile kullanıcıya sunmamızı sağlayan bir yapıdır.
Yazı dizisinin ilk makalesinde adet gereği küçük bir tanışma faslına yer verdim. Bir sonraki makalemizde ASP.NET MVC Framework’ünün Visual Studio IDE mize kurulumu hakkında bilgiler vereceğim.
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar