Model-View-Controller

ASP.Net MVC için İpuçları

Burada ASP.Net MVC ile alakalı boş beleş şeyler yazacağım. Sadece aklımda tutmak için başlıları yeter diye düşünüyorum, detaylarını yazmaya kalksam sayfalar yetmez.

Genel Tavsiyeler

  • Test yaz, hatta önce testi sonra kodu yaz
  • SOLID prensiplerini unutma
  • ActionFilterAttribute kullan
  • Parital page güncellemeleri kullan
  • ASP.Net’in Resource klasörünü kullan
  • Session’ı aşırı kullanmak yerine TempData’yı kullanmaya çalış
  • OutputCache kullan, özellikle statik sayfalarda
  • Async kullanmaktan çekinme
  • HttpPost ile veri gönder
  • Bundling and minification kullan
  • Area kullan
  • Klasör adlarıyla namespace adları aynı olsun
  • Bilinen genel saldırılardan korun
    • Cross site scripting – XSS
    • SQL injection
    • Cross-site Request Forgery – XSRF
    • Yanlış model bağlama
  • Özellikle context nesnesini dispose et
Model-View-Controller

Model-View-Controller

Model Tavsiyeleri

  • Modeli için ayrı bir proje oluştur
  • Tüm validation mekanizmasını modele koy
  • Viewmodeller ayrı klasörler de olsun
  • Mutlaka ama mutlaka interface tanımla ki classlar birbirine bağımlı olmasın
  • Session mekanizmasını modele koy
  • Direk entity ile bağlantı kurmak yerine viewmodel kullan böylece ekstra özellik ekleyebilirsin

View Tavsiyeleri

  • Tüm HTML kodlarını viewların içine koyun asla controller içine yazma
  • Eğer controllerdan veri istiyorsanız veiwdata ile yolla
  • Mutlaka otomatik jasvascript validation yap
  • Yorum eklerken mutlaka c# yorumu ekle ki tarayıcıda gözükmesin
  • Mutlaka HTMLHelper eklentilerini kullan

Controller Tavsiyeleri

  • Parametre olarak model kullan
  • Actionların göstereceği view için bir ad yaz
  • Mutlaka beklenmeyen hatalar için bir HandleError tanımla
  • Form gönderirken POST ile gönder