Microsoft'un ASP.NET için geliştirdiği Model-View-Controller iskeletidir.
Mvc
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.
MVC
denilen kavram üç temel olaydan oluşuyor:
- Model:Veritabanı ile bağlantı işlemleri burada yapılıyor.
- View:Sitenin tasarımı controllerdan alınan verilerle view sayfalarında yapılıyor.
- Controller:Bir nevi model ile view arasında köprü görevi görüyor.
- M (Model)
- M (Model), İş Mantığını ve veri işleme süreçlerini yürütür. C (Controller) tarafından gönderilen emirlere göre hareket eder. Bilgi işleme sürecinden sonra veriyi C’ye, diğer modellere veya doğrudan V (View)’ye gönderir.Veritabanına erişim, class’lar, ayrıca data access layer yani veritabanı işlemleri için kullanacağımız Ado.Net, Nhibernate veya EntityFramework ile veri işlemleri burada yer alır.
- V (View)
- V (View) son kullanıcıya gösterilecek olan verinin sunumu ile ilgilenir. View, bu bilgiyi Controller veya Model’den alır, aynı zamanda son kullanıcıdan gelen talepleri Controller’a iletir.
- C (Controller)
Controller ise sistemin ana kısmıdır. Gelen talepleri kontrol eder ve
sistemin diğer elemanlarının (M,V) bilgiyi uygun şekilde alıp,
göndermelerini sağlar.Client
(kullanıcı) tarafından yapılan request (istek) controller’lar
tarafından yakalanır ve işleme tabi tutulur. Bu bölüm iş
akışının gerçekleştiği, arayüzden gelen kullanıcı
etkileşimlerinin değerlendirildiği, işlendiği, gerekli
metodların çalıştırıldığı, değişkenlerin ve nesnelerin
oluşturulduğu, model ile view bölümleri arasında iletişimin
sağlandığı yerdir.
İlk uygulamamızı yapalım.
Visual Studio'yu açalım.Aşağıdaki adımları uygulayalım.
MVC'yi seçerek devam edelim.
Öncelikle bilgisayarınızda IIS kurulu olması gerekiyor. Eğer IIS kurulu değilse Denetim Masası>Programlar>Windows Özelliklerini Aç/Kapat dizinine gidin. Ve gelen pencereden Internet Information Services seçeneğini işaretleyin. Bu seçeneği işaretledikten sonra IIS’de Asp, Asp.Net gibi teknolojilerin çalışmasını sağlayan ayarı yapmamız gerekiyor. Bu ayarı yapmak için pencereden çıkmadan Internet Information Services>World Wide Web Hizmetleri ve Web Yönetim Araçları işaretli olsun .Tamam seçeneğine tıklayarak işleminizi tamamlayın. Windows sizin için Update’ den dosyaları indirip kurulumunu yapacaktır.
F5'e basıp IIS Express başlatıp uygulamayı çalıştırın.
Karşımıza uygulamanın anasayfası gelecek.Visual Studio web projesi çalıştırırken web server için rasgele port kullanır.Bu örnekte port numarası 18341. Siz çalıştırdığınızda port numarası farklı olacaktır.
Solution Explorer'ı tanıyalım.
Home Controller'ı açalım. Controllerda gördüğünüz ActionResult'lar geriye View döndürür.
Home controllerdaki
public ActionResult Index(){
return Viev();
}
yerine
public string Index(){
return "Hello World";
}
yazıp çalıştırdığımzda sayfada Hello World yazacaktır.
Şimdi Controller'a sağ tıklayıp Add -> New Controller deyip yeni bir controller oluşturalım.Controller Index metoduyla birlikte gelecektir.Deneme controller'ını oluşturduğumuzda Views klasörüne Deneme adında klasörde otomatik olarak oluşacaktır. Uygulamayı tekrar çalıştıralım. http://localhost:#####/deneme/Index (deneme klasörünün altındaki index view'ına erişmek demek) yazalım.
Hata verdi.Bunun nedeni biz sayfayı talep ettiğimizde istek controller'a gitti ve controllerdaki Index metodu geriye view dödürmeye çalıştı .Fakat biz Views/deneme klasörüne view eklememiştik.
Views -> deneme klasörüne sağ tıklayıp ad -> view deyip Index adında view oluşturalım.
Ctrl+ Shift +B ile derleyebilir F5 ile uygulamayı çalıştırabilirsiniz.
Not: View Engine olarak Razor kullandığımdan dolayı uzantılar .cshtml şeklindedir.
Umarım faydalı olmuştur,İyi çalışmalar.
Çok faydalı oldu teşekkürler
YanıtlaSil