BLOG
Ne Zaman Asp.net, Ne Zaman MVC Kullanmalısını..
Ne Zaman Asp.net, Ne Zaman MVC Kullanmalısınız?

Bilindiği üzere Microsoft tarafından çıkarılan .net platformunun amacı, tek programlama diliyle web uygulamaları, masa üstü uygulamaları ve mobil uygulamalarını yapabilmektir. Yani asp.net sayesinde bu 3 farklı uygulama için 3 farklı yazılım kullanmaya gerek kalmamıştır.

HTML ile C# Kodları Yeniden Bir Arada

İlk çıktığında kendi hazır nesneleri sayesinde kullanıcıların işini kolaylaştırmayı hedefleyen asp.net yerini yavaş yavaş asp.net MVC'ye kaptırmaya başladı. Bilindiği gibi asp.net uygulamalarında oluşturduğunuz bir dosya aspx ve aspx.cs uzantılı 2 dosyadan oluşuyordu. Bunun amacı Html kodlarınız bir tarafta, c# ve mssql kodlarınız diğer tarafta bulunarak daha temiz görünümlü bir kodlama oluşturmaktı. Ancak bir süre sonra yazılımcılar php ve asp'den kalma olan html tarafında c# kodlarını kullanma alışkanlıklarını asp.net ile yapamayınca bazı işlerde zorluk çekmeye başladılar.

Model - View - Controller Yapısı (MVC)

Tekrar html ile c#'ı aynı ortamda kullanma imkanı tanıyan asp.net Mvc'nin sunduğu en önemli özellik yazılımcılara ekiple çalışma noktasında sağladığı kolaylık. Mvc zaten daha önce de farklı yazılımlarda kullanılan bir programlama mimarisiydi ve şimdi de asp.net ile karşımıza çıkmış oldu. Mvc ile hazırlanan projeler Model, View ve Controller adı verilen 3 farklı yapıdan oluşmakta. Böylece büyük çaplı bir projede yazılımcılar görev paylaşımı yaparak iyi bir ekip çalışması yapabiliyor.

Model, projedeki verileri ve bunların doğruluk kontrolü/zorunluluk durumlarının belirlendiği bir bölüm. Zorunlulukların burada belirlenmesi sayesinde herhangi bir veriyi farklı sayfalarda girdirmeniz durumunda her sayfada tekrar tekrar zorunluluk kontrolü yapmak zorunda kalmıyorsunuz. Oysa Asp.net'de kullanılan Validation kontrolleri her sayfada yeniden kullanılmak zorundaydı.

View, projede kullanıcının gördüğü arayüz kısmını oluşturuyor. Burada en önemli özellik ise, viewler kalıplar halinde hazırlanarak farklı sayfalarda tekrar tekrar kullanılarak kodlamada hem düzeni sağlıyor hem de işi kolaylaştırmış oluyorlar.

Controller, ise adı üstünde model ile view arasındaki iletişimi sağlayarak tüm yazılımsal kontrol işlemlerinin gerçekleştirildiği bölüm.

Asp.net'in Pabucu Dama mı Atıldı? (Asp.net'in Avantajları)

İşte bu üçlü yapı sayesinde yazılım ekibi birbirinden bağımsız bir şekilde farklı görevleri alarak eş zamanlı olarak kodlama yapabiliyorlar. Tabii ki bu durum kesinlikle asp.net Mvc'ye geçmek gerektiği anlamına gelmiyor. Örneğin çok basit bir projede işlerinizin daha hızlı yürümesi için asp.net web form kullanmanız da mümkün. Bazen bir çok şeyi tek tek yazmak yerine web formları sürükle bırak  yöntemiyle işinizi daha çabuk yapabilirsiniz. Burada yapacağınız uygulamanın büyüklüğüne, ekip çalışması durumunuza bağlı olarak seçim işi size kalıyor.

Yani asp.net'in pabucu hepten dama atılmış durumda değil. Mesela ajax bilgisi olmayan biri için asp.net web formun hazır Ajax nesneleri biçilmiş bir kaftan.  Detaylı filtreleme özellikleri, takvim kullanımı, watermarks, editör, renk seçim aracı gibi bir çok özellik işinizi çok kolaylaştıracaktır. Bunun dışında asp.net ile kullanılan events (olaylar) da yazılımcıların işini son derece kolaylaştırmakta. Örneğin bir butona ya da dropdownlist nesnesine çift tıklayarak onun yapması gerektiği işi kolayca belirtmek yazılımcının iş yükünü azaltan ve zaman kazandıran bir özellik.

Büyük Rakip MVC (Mvc'nin Avantajları)

Şimdi gelelim yeni rakibe. Acaba Mvc'nin ne gibi avantajları var? Öncelikle asp.net Mvc'nin en önemli özelliklerinden bir tanesi performans olarak asp.net'in önüne geçmiş olması. Asp.net ile kullanıma gelen Viewstate durum yönetimi olayı Mvc'de mevcut değil. Mvc'de durumları tamamen kendiniz yönetiyorsunuz. Asp.net ile yapılan bir web sayfasının kaynağını görüntülediğinizde ilk olarak üst tarafta onlarca satırdan oluşan karmakarışık kodlar görüyorsunuz. İşte bu kodlar asp.net nesnelerinin durumlarını tutan Viewstate'ten kaynaklanıyordu. Mvc'de bu durum mevcut değil. Kaynağı görüntülediğinizde tertemiz bir kodla karşı karşıya kalıyorsunuz.

Bunun dışında Mvc'nin en önemli özelliklerinden bir tanesi hata tespitinin çok kolay olması. Çünkü Mvc'de yazılan kodlar sadece o sayfaya özgü değil. Controller üzerinden kontrol edilen nesneler sayesinde herhangi bir yerde hata olması durumunda o hata anında karşınıza çıkabiliyor. 

02.11.2015
Yücel Solak
YORUMLAR
Kerem
Gerçekten çok faydalı bir paylaşım olmuş aralarındaki farkları çok güzel açıklamışsınız teşekkürler
24.01.2017 12:48:06