ASP.NET MVC dünyasında, ASP.NET'te birçok iyileştirme çerçeveye dahil edilmiştir. Bu tasarım modelinin temel amacı, uygulama için daha iyi sürdürülebilirlik, gelişmiş test edilebilirlik ve daha temiz bir yapıya odaklanmak için iş mantığını kullanıcı arayüzünden izole etmektir.
ASP.NET MVC, aşağıdakilerden birine veya daha fazlasına ihtiyacınız olup olmadığını seçmek için en iyi seçenek haline getiren belirli özelliklere sahiptir:
• Oluşturulan HTML üzerinde yüksek düzeyde kontrol : Web Formlarından farklı olarak, ASP.NET MVC'deki Görünümler tam olarak söylediğiniz gibi HTML oluşturur. Son zamanlarda, Web Formları bu alanda geliştirildi, ancak MVC'nin sahip olduğu kontrol seviyesi hala yok.
• Daha kolay birim testi : ASP.NET MVC ile test odaklı geliştirme (TDD) gibi test modellerini takip etmek çok kolaydır. Web Formlarındaki karmaşık olay yaşam döngüsü nedeniyle, kontrol tabanlı bir çerçevenin üzerinde TDD, MVC ile çok daha kolaydır.
• Endişelerin ayrılması : Bu, sistemin tüm yönlerinin birbirinden açıkça ayrılması anlamına gelir. Uyguladığı desen nedeniyle, bir MVC uygulaması ayrık ve gevşek bağlı parçalara (model, görünümler ve kontrolörler) bölünür ve bu da bakımını kolaylaştırır.
Diğer avantajlardan bazıları:
• MVC deseninin kendisi, uygulamanın işlevselliğini model, görünüm ve denetleyici olmak üzere üç temel parçaya ayırarak karmaşıklığın yönetilmesini kolaylaştırır.
• ASP.NET MVC web uygulamaları görünüm durumunu veya sunucu tabanlı formları kullanmaz. Bu, MVC çerçevesini bir uygulamanın davranışı üzerinde tam kontrol isteyen geliştiriciler için ideal hale getirir. Görüntüleme durumu çok büyük olabilir, bu da yavaş ağlar üzerinden çalışan akıllı telefonlar gibi cihazların sorunudur (tüm bu bilgilerin iletilmesi çok yavaş olabilir). Web Formları sayfasında, her sayfada yalnızca bir tane olabilir. Bu oldukça büyük bir kısıtlama. MVC'de böyle bir kısıtlama yoktur - yani, istediğiniz kadar öğeye sahip olabilirsiniz.
• ASP.NET MVC, test odaklı geliştirme (TDD) için daha iyi destek sağlar.
• ASP.NET MVC, büyük geliştirici ekipleri tarafından desteklenen web uygulamaları ve HTML üzerinde yüksek düzeyde kontrole ihtiyaç duyan web tasarımcıları için iyi çalışır. ASP.NET MVC İstek İşleme