Remove Magic strings with T4MVC

T4MVC è un progetto opensource sviluppato da @davidebbo ospitato su codeplex, precedentemente parte di MvcContrib, ora standalone.
Cosa pemette di fare? rimuovere, grazie ad un template T4, l’uso delle “stringhe” da un progetto MVC (riferimenti a controller, action, le area, i file statici …), il tutto con una curva di apprendimento minima (anzi, direi che non vi è curva di apprendimento e che i vari extension method di HtmlHelper sono più “complicati” da scrivere e da leggere).
Alcuni esempi di utilizzo:

  • return RedirectToAction(“Index”);
    returnMVC.People.Index();
  • @Html.ActionLink(“Edit”, “Edit”, new { id=Model.Id })
    @Html.ActionLink(“Edit”, MVC.People.Edit(Model.Id))
  • @using (Html.BeginForm(“Create”, “People”))
    @using(Html.BeginForm(MVC.People.Create()))
  • href=“@Url.Content(“~/Content/Site.css“)”
    href=“@Links.Content.Site_css”
  • @Html.Partial(“_LogOnPartial”)
    @Html.Partial(MVC.Shared.Views._LogOnPartial)

In package nuget contiene due template T4:

  • T4MVC.tt: il template che si occupa di generare classi e metodi da utilizzare degli esempi sopra elencati. In particolare si occupa di creare
    • classi T4MVC_*Name*Controller che ereditano *Name*Controller ed ne effettuano l’ovverride dei metodi. In questo modo il refactoring dei metodi è immediato (ovviamente una build è necessaria)
    • Classi partial *Name*Controller che aggiungono alcune shortcuts direttamente ai nostri controller.
    • Una classe statica MVC che raccoglie istanze statiche di classi T4MVC_*Name*Controller
    • Classi statiche Scripts e Contents che raccolgono i link alle varie risorse statiche
  • T4MVC.tt.settings.t4: raccoglie le convenzioni utilizzate dal precedente template, tra le quali:
    • string HelpersPrefix=”MVC”: l’entry point per lo sviluppatore
    • string ControllersFolder e ViewsRootFolder: i nomi delle cartelle dove risiedono i controller e le view
    • string[] StaticFilesFolders: una lista di cartelle contenenti file statici dai quali T4MVC.tt genererà i riferimenti

T4MVC permette quindi di eliminare le stringhe, facilitare la scrittura e lettura di codice e rifattorizzare lo stesso (anche se alcuni problemi persistono, soprattutto nei cshtml). Buon coding.

,

  1. Lascia un commento

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: