Google Analytics İzleme

21 Eylül 2012

MVC 3 - Hard-coded yani string olarak View, Action ve Controller tanımları kullanmama

MVC 3 içinde;
return View("ViewAdi")
Html.ActionLink("Delete Dinner", "Delete", "Dinners", new { id = Model.DinnerID }, null)
...
gibi string şeklinde tanımlamalar hem uygulama bakım işlemi(maintenance) hem de intellisense imkanlarından bizi mahrum bırakır, hata yapma olasılığımızı artırır.
Bu tip soruna çözüm olarak Outercurve Foundation tarafından desteklenen MVCContrib projesinde T4MVC projesi sunulmuştur. T4MVC kütüphanesi ile kodlamanızı hızlıca yapabileceksiniz. Bunu kullanmanızı şiddetle tavsiye ediyorum.

Proje adresi:
http://t4mvc.codeplex.com/

Kullanım örnekleri:
https://t4mvc.codeplex.com/documentation

Nuget paketi bilgileri:
<package id="T4MVC" version="2.10.2" targetFramework="net40" />

Nuget ile projemize indirdiğinizde ana dizinde
T4MVC.tt
T4MVC.tt.settings.t4
adında iki yeni dosya oluşturulmaktadır. Bu t4 çalışınca her controller için "....generated.cs" şeklinde sınıflar üretilmektedir.
Ayrıca projelerdeki controller sınıflarına partial tanımını ve bu controller sınıflarındaki ActionResult dönen metodlarına da virtual tanımını eklemektedir.

Kill magic strings with T4MVC
http://dotnetslackers.com/articles/aspnet/Kill-magic-strings-with-T4MVC.aspx

why T4MVC introduces virtual for controller actions?
http://stackoverflow.com/questions/11433242/why-t4mvc-introduces-virtual-for-controller-actions


Hiç yorum yok: