Bilgisayar Eğitim Merkezi
Ana Sayfa Hakkımızda İletişim Uzaktan Eğitim Ön Kayıt
 
MVC Programlama Dili Hakkında Bilgiler  - 17.02.2014
 

 ASP.NET MVC Nedir, Ne İşe Yarar, Niçin ve Ne Zaman Tercih Edilmelidir?

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 nin asıl özelliği diğer dillerdeki gibi Kod Dağlarından farklı olarak kısa kısa kodlarla farklı farklı işlemleri gerçekleştirebilmesidir. Zor olmasına karşın öğrenildiği taktirde kullanilabilirlik açısından çok pratiktir.
                -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.

 


ASP.NET MVC’yi anlamak için “WebForms”un ne olduğunu bilmek ve anlamış olmak gerekir. Bundan dolayı öncelikle biraz webformsa değinmek istiyorum.

Klasik ASP ile web geliştirenlerin .NET’e geçişi ile birlikte hayatlarına giren ilk şey “WebForms” olmuştur. Asp.Net programlamada başlangıç seviyesinde, mantığı tam olarak anlaşılamasa da, giriş seviyesi bir programcı dahi webformsu aktif olarak kullanır. Basit bir şekilde anlatmak gerekirse; bir aspx sayfasında bulunan asp.net server kontrollerine (textbox, dropdown, vb.) girilen verilerin programatik olarak işlenmesi için koda gönderilmesini sağlayan sayfa yapısına webforms diyebiliriz. Bu işlemi gerçekleştirmek için bize yardımcı olan mekanizmalar vardır. Postback ve Viewstate bunların başında gelir. Postback bu kontrollerdeki veriyi koda gönderme eylemine verilen isimdir. Viewstate ise postback öncesinde bu formlara girilmiş olan verilerin postback sonrasında tekrar kullanılabilir olmasını sağlayan mekanizmadır. 



Bu sayfadaki textbox’a bir yazı girip, checkbox’a tick atıp, butona tıklandığında textboxa girilen yazıyı sayfanın başına yazdırdığımızı düşünelim. Bunun için Visual Studio’da designerdaki butona çift tıklarız ve bizi code behind’a yönlendirir ve bu buton için bir event oluşturur. Bu eventin içine Response.Write(TextBox1.Text) benzeri bir kod yazarız. Daha sonra bu sayfayı çalıştırıp, butona tıkladığımızda sayfa bir kere refresh yapar (kendini tazeler) ve tekrar aynı sayfayı açar.



Textboxa girdiğimiz yazı, olması gerektiği gibi sayfanın başında gözükür. Ayrıca textbox’ın içinde yazı hala duruyordur ve checkbox da ticklenmiş durumdadır. Oysa sayfa kendini refresh etmiştir. Refresh eyleminin aynı sayfayı tekrar açtığını düşünürsek (adres çubuğundaki url değişmez), o sayfaya ilk defa girildiğinde olduğu gibi boş bir şekilde açılması beklenir. Bunu test etmek için sayfa boş iken textboxa bir yazı girin checkbox’a tick atın ve daha sonra browser’ınızın refresh butonuna basın. Bunu yaptığınızda göreceğiniz üzere textbox’taki yazı kaybolur ve checkbox boşalır. Sayfa ilk açıldığı şekline geri döner. Fakat butona tıklayıp sayfayı refresh ettirdiğinizde her şey yerinde duruyordur. İşte buradaki butona tıklama eylemi sonucu sayfanın refresh yapmasına postback denir. Bu refresh sonunda textbox’a girdiğimiz yazının durması ve checkbox’ın tickli kalmasını da viewstate mekanizması sağlar. Postback ile textbox’taki yazı koda gönderilir. Kod bu yazıyı alır, işler, sayfanın başına yazar ve tüm bunlar refresh anında olur. Refresh tamamlandığında her şey istediğimiz gibidir. İşte tüm bu olaylar zincirinin ve mekanizmaların tamamına “WebForms” denir.

MVC, uygulamanın kullanıcı arayüzünü 3 temel yapıya ayırır:

Model: Verinin nasıl değişeceğini ve nasıl yönetileceğini belirleyen iş kurallarını (Business Rules) içeren sınıfların tamamının bulunduğu katmandır. Genelde bunlar veritabanını temsil eden sınıflarlar veya domaini temsil eden nesnelerdir. EntityFramework, NHibernate gibi, entity-data-model ler de, model katmanında yer alabilir. Yani uygulamamızda kullanacağımız nesneler bu katmandadır.

View: Kullanıcı arabiriminin (User Interface - UI) gösterileceği katman. Dinamik olarak üretilen HTML şablonu bu katmandadır. Kısaca veri gösterim katmanı diyebiliriz.

Controller: Tüm sistem akışının, kullanıcı ile olan etkileşimi kontrol eden ve olayları yöneten sınıfların tamamı. View ve Model katmanları arasındaki ilişkiyi yönetir. Kullanıcıdan girdi alır, modelle iletişime geçer ve ne gösterileceğine karar verir.

ETİKETLER;

Yazılım Kursu , Yazılım Uzmanlığı Kursu , Yazılım Uzmanlığı Kursu Ankara , Yazılım Uzmanlığı Ankara , Yazılım Kursu Ankara

 
 

NET Yazılım Uzmanlığı Kursu
JAVA Kursu | JAVA Kursu Ankara
İleri C# Kursu (C Sharp) | C# Kursu Ankara
Android Kursu | Android Kursu Ankara
Web Tasarım ve Programlama
Python Kursu Ankara