MVC mimarisi ve ASP.Net MVC nedir?

berat

Onaylanmış Üye
Onaylanmış Üye
31 Tem 2020
23
1
Çevrimiçi zamanı
2h 27m
3
Best answers
0
Oyuncu
Silkroad
MVC mimarisi ve ASP.Net MVC nedir?

Merhaba arkadaşlar, bu yazımda MVC yapısı ve MVC yapısının Asp.Net ‘teki kullanımından bahsedeceğim.

İlk olarak MVC yapısından bahsedecek olursam, MVC ‘nin açılımı Model-View-Controller ‘dir. System.Web.MVC kütüphanesini kullanır. Bu kavramları da açacak olursak;

Model: Veritabanına erişim, sınıflar(class),veritabanı ilişkileri gibi data ile ilgili işlemlerin yanısıra, Entity Framework, Linq tol Sql, NHibernate, Ado.Net gibi frameworkleri içerisinde bulunduran katmandır. Kısacası data(veri) işlemleri bu katmanda gerçekleşir.

View: Bu katman kullanıcının ekranda gördüğü katman olarak adlandılır. Bu kısımda Html,Css,Javascript arayüz teknolojileri kullanılır.

Controller: Kullanıcının View vasıtasıyla verdiği komutların, Model işlenmesini sağlayan katmandır. Kısacası Model ile View arasındaki katmandır. Metotlar,değişkenler , fonksiyonlar buradan çağrılarak kullanılır.

Şimdi bu yukarıda anlattıklarımızın ASP.Net MVC içindeki durumunu inceleyelim.

ASP.Net MVC’de gelen bir kullanıcı isteği (Request) ilk önce Controller katmanına giderek burada işlenir ve Model kısmına gönderilerek verinin hangi database tablosunda ya da class ta işleneceğine karar verilir, ardından model kısmına işlenen veri Controller’a geri gelir ve hangi View ‘da gösterileceği karar verilir ve yanıt olarak(Response) son kullanıcıya geri döner.

Aşağıdaki tablo yukarıda anlattıklarımızı görsel olarak özetlemektedir.

webmaster-kitchen-mvc


Şimdi de neden MVC , MVC Yapısıyla kodlamanın avantajları neler inceleyelim:

  1. En büyük avantajı, benim de en beğendiğim özelliklerinden biri olan, template ile yazılan kodun karışmaması. Asp.Net, template arkasına yani Microsoft tabiri ile Code-Behind kod yazıyorduk. Ancak MVC modelleme ile tek bir yerde Controller ‘a gerekli metotları yazarak, hem kod tekrarını azaltıyoruz, hem vakitten kazanıyoruz, hem de yazdığımız kodu karmaşıklıktan kurtuluyor.
  2. MVC yapısında bir web sayfası , gerektiğinde Request olduğu için, server’ımızı yormadan, rahat bir şekilde web sitemizi çalıştırabiliyoruz.
  3. Net ‘te veriler toolboox’daki sunucu kontrolleri yerine, tamamen HTML taglarını kullanarak javasript ve css entegrasyonunu kolaylaştırmıştır. Bunu View’ındaki özelliği olan aspx ve razor template’leri ile kolaylaştırmış, böylelikle az kodla çok iş yapmayı sağlamıştır.
  4. Net’teki ViewState taşıyıcılarının yerini ViewBag,TempData,ViewData almıştır. Böylelikle Controller ile View arasındaki veri akışı basite indirgenmiştir. Burada hazır değinmişken, bu kavramların ne tür veriler taşıdıklarını belirtmekte fayda var;
ViewBag: integer, string gibi liste şeklinde olmayan verileri Controller ile View arasında taşımaya yarar.

ViewData: Liste şeklindeki verileri Contoller ile View arasında taşımaya yarar.

TempData : Projedeki diğer View’lar arası veri taşımayı sağlar.

  1. En önemli ve son özelliklerinden biri takım halinde kodlamaya müsait bir yapı olmasıdır. Örneğin biri View’ı kodlarken biri Controller’a kodlayabilir. Birleştirmek basit olduğu için herkes birbirinden bağımsız kodlama işlemi gerçekleştirebilir.
Sonuç olarak MVC yapısı işimizi kolaylaştırarak, daha basit ve sade bir biçimde kodlamamıza yardımcı olur.

Kaynaklar:
http://www.codeproject.com/Articles/528117/WebForms-vs-MVC
http://www.asp.net/mvc/overview/getting-started/introduction/getting-started
 

Fendrix

𝓣𝓱𝓮 𝓑𝓮𝓼𝓽 𝓞𝓷𝓮
Co Admin
Hosting Yetkilisi
Teknik Sorumlu
Hakem
Yarışma Organizatörü
Vip Üye
21 Mar 2021
1,314
370
Çevrimiçi zamanı
7d 8h 48m
153
Best answers
0
Oyuncu
Metin2
Teşekkürler. :)
 
Üst