Compartilhar via


ASP.NET MVC 4 lista de 10 Boas Práticas

Introdução

Este artigo vai abordar as 10 melhores práticas que podem ser seguidas para elevar o uso e eficácia do ASP.NET MVC Framework 4.

O que é o ASP.NET MVC Framework?

O ASP.NET MVC Framework é baseado no popular e time tested Model-View-Controller (MVC) Design Pattern (padrão de projeto). Que facilita a concepção e implementação de aplicações onde você pode ter um limpador de separação de interesses, melhorar a organização do código, testabilidade seamless, fácil extensibilidade, escalabilidade e reutilização de código.

O ASP.NET MVC fornece uma alternativa ao padrão ASP.NET Web Forms para criação de aplicações Web baseados em MVC.

O ASP.NET MVC é leve, tem estrutura de apresentação altamente testável que (como com aplicações Web Forms-based) é integrado com os recursos existentes ASP.NET, como master pages e autenticação membership-based. O framework MVC é definido no namespace System.Web.Mvc e é uma parte fundamental, suportado do namespace System.Web.

Se você deseja atualizar suas aplicações ASP.NET MVC 3 para ASP.NET 4, aqui está o que você precisa fazer:

Localize o seguinte texto no arquivo web.config da aplicação:

01.System.Web.Mvc, Version=3.0.0.0
02.System.Web.WebPages, Version=1.0.0.0
03.System.Web.Helpers, Version=1.0.0.0
04.System.Web.WebPages.Razor, Version=1.0.0.0
05.Agora, substitua com o seguinte texto:
06. 
07.System.Web.Mvc, Version=4.0.0.0
08.System.Web.WebPages, Version=2.0.0.0
09.System.Web.Helpers, Version=2.0.0.0,
10.System.Web.WebPages.Razor, Version=2.0.0.0,

vamos eliminar todas as referências aos seguintes assemblies em sua aplicação:

01.System.Web.Mvc (v3.0.0.0)
02.System.Web.WebPages (v1.0.0.0)
03.System.Web.Razor (v1.0.0.0)
04.System.Web.WebPages.Deployment (v1.0.0.0)
05.System.Web.WebPages.Razor (v1.0.0.0)
06.Adicione referências para os seguintes assemblies:
07. 
08.System.Web.Mvc (v4.0.0.0)
09.System.Web.WebPages (v2.0.0.0)
10.System.Web.Razor (v2.0.0.0)
11.System.Web.WebPages.Deployment (v2.0.0.0)
12.System.Web.WebPages.Razor (v2.0.0.0)

 10 melhores práticas ao trabalhar com ASP.NET MVC.

  • Dica 1: Desativar a validação de solicitação

Request Validation é um recurso que impede que o conteúdo potencialmente perigoso seja submetido. Esse recurso é ativado por padrão. No entanto, às vezes você pode precisar que sua aplicação poste tags HTML markup para o servidor. Para tal você precisa deste recurso desativado. Aqui está como você pode fazê-lo:

01.[ValidateInput(false)]
02.  
03.[AcceptVerbs(HttpVerbs.Post)]
04.  
05.public ActionResult Create([Bind(Exclude="Id")]Employee empObj)
06.  
07.{
08.  
09.}
  • Dica 2: Armazenar em cache seus dados

Você pode melhorar o desempenho da aplicação em grande medida pelo cache de dados relativamente obsoletos. Dessa forma, a rede de largura de banda entre o cliente e o servidor também é reduzida. É ótimo se você também puder armazenar em cache as ações prestadas de páginas que são relativamente velhas, ou seja, não mudam muito ao longo do tempo.

01.public class  HomeController : Controller
02. 
03.{
04. 
05.[OutputCache(Duration=3600,
06. 
07.VaryByParam="none")]
08. 
09.public ActionResult Index()
10. 
11.{
12. 
13.}
14. 
15.}
  • Dica 3: Isolar a Lógica Data Access Logic a partir do Controller

O controlador em uma aplicação ASP.NET MVC nunca deve ter a lógica de acesso a dados. O controlador em uma aplicação ASP.NET MVC é para tornar a visualização adequada com base em alguma ação de interface do usuário. Você deve fazer uso do padrão de repositório de dados para isolar a lógica de acesso do controlador – você pode precisar de injeção de dependência para injetar o repositório apropriado para o seu controlador em tempo de execução.

  • Dica 4: Usando a Master View Model

Frequentemente usamos Master Pages em aplicações ASP.NET – a mesma Página Mestra iria ser prorrogada pelas páginas de conteúdo por toda a aplicação para dar uma semelhança, tanto quanto aparência e funcionalidade. Como podemos fazer isso em uma aplicação ASP.NET MVC? Bem, precisamos de um MasterViewModel semelhante ao que é mostrado no trecho de código abaixo:

01.public class  ViewModelBase
02. 
03.{
04. 
05.public ViewModelBase()
06. 
07.{
08. 
09.}
10. 
11.//Outros métodos e propriedades
12. 
13.}
  • Dica 5: Use Modelos fortemente tipado

Uma visão forte é uma visão que define o seu modelo de dados como um tipo CLR em vez de um dicionário fracamente tipado, que potencialmente pode conter qualquer coisa. Para criar uma view strongly-typed (fortemente tipada), marque a opção ” Create a strongly-typed view ” enquanto você está criando a view. Se você pretende criar uma visão fortemente tipada manualmente mais tarde, garanta que a sua view “Inherits” System.Web.Mvc..

  • Dica 6: Use Data Annotations para Validação

Você pode fazer uso do assembly System.ComponentModel.DataAnnotations para validar seu servidor – side code, ele simplesmente decora o seu modelo com os atributos necessários. Aqui está um exemplo:

01.public class  Employee
02. 
03.{
04. 
05.[Required(ErrorMessage=" Nome do empregado não pode ficar em branco ")]
06. 
07.public string  Name { get; set; }
08. 
09.// ...
10. 
11.}
  • Dica 7: Tire vantage do Model Binding

Considere o seguinte trecho de código:

01.[AcceptVerbs(HttpVerbs.Post)]
02. 
03.public ActionResult Create()
04. 
05.{
06. 
07.Employee employee = new  Employee();
08. 
09.employee.Name = Request.Form["Name"];
10. 
11.// ...
12. 
13.return View();
14. 
15.}

Você pode fazer uso do model binder para que não precise usar o Request e propriedades HttpContext – basta usar o FormsCollection. Aqui está um exemplo:

01.public ActionResult Create(FormCollection values)
02. 
03.{
04. 
05.Employee employee = new  Employee();
06. 
07.employee.Name = values["Name"];
08. 
09.// ...
10. 
11.return View();
12. 
13.}
  • Dica 8: Páginas de cache que contêm dados compartilhados ou são públicos e não exigem autorização

Você não deve armazenar em cache páginas que precisam de autorização no ASP.NET MVC. Você não deve armazenar em cache páginas que contêm dados privados ou necessidade de autorização. Cache de páginas em ASP.NET MVC é simples – basta especificar o OutputCache como mostra o trecho de código abaixo:

01.[OutputCache(Duration = 60)]
02. 
03.public ActionResult Index()
04. 
05.{
06. 
07.return View("Index", somedata);
08. 
09.}
  • Dica 9: Use Métodos Extension

Você pode fazer uso de métodos de extensão para simplificar a utilização de consultas LINQ que aumentam o desempenho do aplicativo também. Isso pode reduzir drasticamente a quantidade de código que você precisa escrever caso contrário, ao escrever suas consultas LINQ, fazer suas consultas LINQ gerenciável e também melhorar o desempenho do aplicativo.

  • Dica 10: Aproveite-se do Model Binding

Você pode tirar proveito do Microsoft Velocity – um mecanismo de cache distribuído para impulsionar o desempenho da aplicação de suas ASP.NET MVC aplicações.

Conclusão

Ao se adotar as melhores práticas você consegue maior inserção de seu software nos meios, pois consegue assim comprovar que está de acordo com as normas. 
Melhores práticas claramente lhe garante um aumento de segurança e muitas vezes um aumento de performance da aplicação, garantindo ainda que seu aplicativo seja posto a prova frente a certificadores e normas de segurança.

Downloads

Não se aplica

Guiherme Assis
**Partner
** **Twitter: **@GuiMello
Blog: http:www.embraware.com/pingo