The Dark Side of .NET Programming

Il blog di Michele Aponte
posts - 212, comments - 145, trackbacks - 16

ASP.NET MVC Best Practices

Dalla Gladiatori Fest, Simone Chiaretta ci indica la retta via:

  • Rimuovi AccountController (creata dal template MVC)
  • Isolate i controller dal mondo esterno (applicazione non testabile, applicazione poco malleabile)
  • Usate un IOC Container
  • No Magic String (non usare ViewData, creare un viewModel per ogni view)
  • Createvi delle convenzioni pesonali (Controller e magari View implementano una vostra classe base)
  • Fate attenzione agli HTTP Verbs (Pattern PRG: view invia i dati in post, controller valida, pagina in GET mostra i risultati) (Visualizzte i dati in GET, modificateli col post) [AcceptVerbs(HttpVerbs.Post)]
  • DomainModel != ViewModel (Dati+comportamenti != solo dati) per il mapping usare AutoMapper => Mapper.Map<Post, ShowPostModel>(post)
  • Usa le Action per dati "condivisi" (Action Filters) Definiti come attributi permettono di eseguire codice,  gli action filters carucano i dati per le partial view che mostrano i dati caricati dagli action filters
  • Non usare il code-behind (MAI)
  • Scrivi HTML quando puoi
  • Se c'è un if usa l'htmlhelper, le view non devono avere logica, solo if e foreach, quando possibile nasconderli in html helpers
  • Scegli con cura il View Engine (WebFormViewEngine non è il migliore possibile, scegliete quello che fa per voi) Ad esempio Spark View Engine, il flusso è dominato dall'HTML, solo un templating engine, emette PDF, interpreta i template anche in Javascript

Print | posted on lunedì 19 ottobre 2009 22:50 |

Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET