Asp.net MVC(Model View Controller) dünyasına giriş yapıyoruz şimdi zaman kaybetmeden MVC ye giriş yapıp ilk projemizi oluşturalım.
ASP.NET MVC, MVC pattern’ini ASP.NET’e eklemek için Microsoft’un geliştirdiği framework’tür. ASP.NET MVC’nin ne olduğunu anlamak için öncelikle MVC’nin ne olduğunu incelemekte fayda var.
Model
MVC dünyasında model uygulama verisinin veya durumunun saklandığı yerdir, genellikle veritabanı veya xml/json dosyası formatındadır.
Model, veri katmanını (database, xml, json dosyası, vb.) uygulamadan izole eder, böylece diğer katmanlarda veri katmanının neresi olduğunun bilinmesine gerek kalmaz.
Model katmanı sıklıkla Entity Framework, Nhibernate, LLBLGen, vb. gibi araçlar kullanılarak oluşturulur.
View
View, istemcinin gördüğü arayüzü içeren katmandır, genellikle Model katmanındaki verinin kullanılması ile oluşturulur. View katmanının Model ve Controller katmanlarından ayrılması ile arayüz değişikliklerinin uygulamanın diğer katmanlarını değiştirmeye gerek kalmadan yapılabilmesi sağlanmıştır.
View katmanında HTML5 ve CSS3 gibi son versiyon teknolojiler kullanmak mümkündür. HTML5 ve CSS3 ile masaüstü ve mobil tarayıcılarda çalışabilen uygulamalar geliştirmek çok kolaylaşmıştır. Hatta Windows Store uygulamaları geliştirmek için HTML5 ve CSS3 teknolojilerinden yararlanılabilir.
Controller
Controller, istemciden gelen isteği işlemek, Model ve View katmanları arasında köprü olmak gibi görevleri yerine getirir. Controller içerisinde bir veya daha fazla Action olabilir, genellikle her Action bir web sayfası üretmek için kullanılır.
MVC, uygulama geliştirmede (özellikle web uygulaması geliştirmede) önemli yere sahip mimari desenlerden biridir. Günümüzde MVC denince akla Microsoft’un geliştirdiği ASP.NET MVC Framework gelmektedir, oysa 1979 yılından beri (Microsoft 1975 yılında kurulmuştur) yazılım dünyasında yer almaktadır.
MVC, Model , View , Controller kelimelerinin baş harflerinden oluşur ve her kelime MVC’nin farklı bir katmanını ifade eder.
MVC’yi açarak şöyle bir tanım yapabiliriz aslında:
Özetlersek, oluşturmuş olduğumuz uygulamalarımız için kullanıcının iş modeli ile uygulamasının görünümü arasında yani kullanıcı arayüz kısmı arasında ayrım yapan ve böylelikle uygulamaların farklı amaçlara hizmet eden kısımları ile birlikte diğer kısımların birbirine karışmasını önleyen bir mimari modeldir.
Şimdi ilk defa bir MVC proje nasıl oluşturulur buna değinelim. Visual Studio’da File menüsünden New Prject diyerek yeni bir proje oluşturalım. Bu kısmı açtığımızda bir çok proje template’ini görebiliriz. Bizim projemiz C# tabanlı olacağı için Templates alanında C# seçiyoruz. Buradan WEB seçeneğini seçiyoruz. Daha sonra ASP.NET Web Application seçiyoruz. Projemize bir isim vermemiz gerekiyor, ben Basit_MVCProje ismini verdim.
Daha sonra OK diyoruz. Karşımızı bir dialog penceresi geliyor. Bu pencerede birden fazla WEB template’i yer alıyor. Buradan MVC Template seçiyoruz. Daha sonra change authentication seçeneğini seçiyoruz.
Bu arada ek bilgi vereyim. Bir MVC template üzerinde 4 tipte authentication (kimlik doğrulama) seçeneği yer alır. Bunlar:
Çıkan pencerede No Authentication seçiyoruz ve OK diyoruz. Bir sonraki pencere için de OK diyoruz.
Daha sonra projemiz oluşturuluyor. Burada bilgisayarınızın performasına göre proje oluşturulması vakit alabilir. Normalde maksimum 1-2 dk içinde proje oluşturulur.
Daha sonra Visual Studio üzerinde projeyi açabilirsiniz. Tabi bizim amacımız bu kadar basit bir şeyi anlatmak değil, MVC ile tanışmak Şimdi MVC proje oluştuğunda sağ da solution explorer altında bir takım klasörler otomatik olarak oluşturulmuş durumda. Bunlara değinelim.
Views klasörü iki tane alt klasör içermektedir, bunlar home ve shared klasörleri. Home klasörü Controller klasörü içinde yer alan HomeController ile eşleşmektedir. Shared klasörü ise diğer klasörlerdeki kontroller ile ortak kodları içeren bir klasördür.
Böylelikle yazımısın başında belirttiğimiz gibi MVC model de iş modeli ile uygulamaların iş modelinin dışında yer alan kodlarımızın ayrıldığını görebiliyoruz. Ayrıca yeniden kullanılabilir özellikle olan layoutlar da bu yapıda mevcuttur. Ek olarak verilerin alt kümesini içeren bir veya birden fazla sayfada görünebilir bir yapıya sahip partial views yapıları da mevcuttur. Bu yapıları sayfalarınıza dahil edebilirsiniz.
Uygulamayı çalıştırdığımızda aşağıdaki gibi bir asp.net sayfası çalışır. Tabi şu an hiç bi şey yapmadık. Mevcut tanımlı yapı üzerinde olan Home, About ve Contact linklerini üstte görebilirsiniz. Yavaş yavaş mvc model üzerinde çalışmaya başlayacağız. Bu yazımız şimdilik bu kadar olsun
Paylaştıgım video,dosya yada projelerle ilgili sorularınızı buradan sorabilirsiniz.
Not:Projemi siz yaparmısınız demeyin lütfen :)
Yorum Yap :