.Net MVC Nedir? MVC Nedir?

.Net MVC Nedir?
ASP.NET, HTML, CSS ve JavaScript kullanarak .NET Framework üzerinde web siteleri ve web uygulamaları oluşturmak için ücretsiz bir web frameworkdur. Mimari olarak Model-Views-Controller kullanılır. Yani bizim MVC yapımızın açılımı budur. Bu mimari ile dinamik bir yapı elde edilir.

Asp.Net’te desteklenen MVC mimarisine bakalım öncelikle.

Öncelikle MVC kalıbını açmamız lazım.
MVC, Model-View-Controller üçlemesinin kısaltmasıdır.

Ayrı ayrı bu yapıların ne anlama geldiğini ise şöyle açıklayabiliriz.


Model Bileşenimiz; Bizim datamızın şeklini temsil eder.Bu bileşen sayesinde DB içerisindeki verileri alırız.

View: Kullanıcı arayüzü(UI) diyeceğimiz kısımdır. Kullanıcı ile 1.derece ilişkili kısımdır.

İsteklere karsı verilen görüntüdür. Bu ikileme Request-Response diyebiliriz. Site içerisinde isteklerimizi
request ile iletirken, aldığımız geri dönüş response diye adlandırabiliriz.

Ayrıca View kısmımız, HTML, CSS ve bazı özel syntax(örn.Razor) yapılarını kullanarak,
Model ve bir sonraki özelliğimiz olan Controller arasında kolay bir iletişim sağlamaktadır.

Son olarak Controller yapım ise; Kullanıcı isteğidir diyebiliriz. Kullanıcı UI üzerinde istekte bulunur,

bu istek Controller tarafında gerekli yapı ile eşleşir ve bunun ardından Model kısmında o isteğe karşılık gelen
datayı gönderir.

Kısaca MVC mantığı şudur:
1)Model, data sunumudur.
2)View, Kullanıcı Arayüzüdür.
3)Controller, işlenen istekdir.

Açıklamayı pekiştirmek mahiyetinde aşağıdaki 2 görsel tam olarak MVC teknolojisi açıklamaktadır.

Şimdi de basit olarak örnek bir MVC projesi oluşturacağım.

Yukarıdaki görüldüğü gibi .net framework özelliğine sahip bir web uygulaması oluşturacağız. Uygulamaya vereceğimiz ismi verdikten sonra OK ile ilerleyebiliriz. Ardından aşağıdaki gibi bir ekran gelecek.

Bu ekranda MVC yapısını seçerek devam edeceğiz. Sağ tarafta Authentication kısmı şuanlık No Authentication kalabilir. İleri zamanlarda bu konu hakkında yazıma devam edeceğim İnşaAllah.

Örnek oluşturulan uygulama sayfası

 

Yukarıdaki uygulamayı başlattığımız zaman, MVC yapısının kendi oluşturduğu default page kısmı karşımıza çıkacak. Ancak şuan bu konuya değinmek istemiyorum. Bu yazımda MVC içerisindeki dosyalar hakkında bilgi vererek yazımı bitirmek istiyorum.

Tek tek hangi dosya neye karşılık geliyor bunları dilim döndüğünce anlatmaya çalışacağım.

İlk sırada

App_Data:
Bu dosya uygulamanın LocalDB,.mdf dosyaları,xml dosyası ve diğer data ilişki dosyalarını içerir. IIS asla App_Data dosyalarını servis etmez.

App_Start:
Bu kısım ise uygulayı ayaga kaldırdıgımızda,calıştırılacak class(sınıfları) içerir.
Tipik olarak, AuthConfig.cs, BundleConfig.cs, FilterConfig.cs, RouteConfig.cs gibi config
dosyalarını içerir.BundleConfig.cs, FilterConfig.cs ve RouteConfig.cs bu dosyalar default dosyalardır.

App_Start içeriği

Content:
CSS, image, icon gibi static dosyaları içerir. Ayrıca bootstrap.css, bootstrap.min.css ve Site.css default dosyalardır.

Content içeriği

Controller:
Controller, controller sınıf dosyalarını içerir. Bu kısım da kullanıcı(UI) taraflı istekler(req) ele alınır ve bu isteklere burdan cevap(res) verilir ve UI a gönderilir.
Controller isimleri her zaman atanan isim arkasına Controller eki alır. Örnek olarak HomeController.cs gibi.

Controller içeriği

fonts: Bu klasör özel yazı tipi dosyaları içerir.

Font içeriği

Model:
Model classların oldugu kısımdır. Tipik olarak model sınıfı, uygulama tarafından uygulama verilerini tutmak ve işlemek için kullanılacak genel özellikleri içerir.

Model içeriği

Scripts:
Bu kısımda genel olarak JavaScript(js) uzantılı dosyaları içerir. MVC5, bootstrap, jquery için Js dosyalarını içerir.

Script içeriği

Views:
Bu kısım ise sürekli üstünde durduğumuz Kullanıcı Arayüzü(UI) kısmını ifade eden kısım. Uygulama için gerekli HTML dosyaları burada bulunur.
Views içerisinde her bir controller için ayrı ayrı html klasörleri mevcuttur. Örneğin HomeController için Views içerisine HomeController klasörü altında oluşturulur.

Shared dosyası ise Views’in altında olup,farklı denetleyiciler arasında paylaşılacak tüm görünümleri içerir.

Ek olarak MVC projesi aşağıki konfigürasyon dosyalarını da içerir.

Global.asax:
Global.asax, Application_BeginRequest, application_start, application_error, session_start, session_end gibi uygulama düzeyindeki olaylara yanıt olarak çalışan kod yazmanıza izin verir.

Packages.config:
Nuget paketlerini yönetmemizi sağlayan Packages.config , uygulamaya istediğimiz paketleri yüklemeye olanak sağlar.
Bunun yanı sıra uygulama içerisinde de Manage NuGet yöntemi ile NuGet paketleri yükleyebiliriz. Her yüklediğimiz paket, package.config içerisinde mevcut oluyor.

Web.config

Web.config dosyası uygulama düzeyinde yapılandırmalar içerir.

 

 

Bugün bu konuları ele almak istedim diğer yazıda tekrar görüşmek üzere. Kolay gelsin, iyi çalışmalar. Ayrıca sormak istediğiniz bir şey veya yanlış gördüğünüz bir şeyi benimle paylaşırsanız sevinirim.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.