Rafael Noronha

closing the gap between business and technology

Controller, mas nem tanto

without comments

A chegada do Asp Net Mvc trouxe à comunidade .Net este novo paradigma, uma arquitetura de camada de apresentação capaz de trazer ao seu lado ótimos ganhos, como já descrito por mim neste post.

Muitos desenvolvedores da plataforma ainda não conheciam o padrão MVC, e é natural que os conceitos sejam assimilados gradativamente.

Uma boa prática que eu recomendarei até o dia em que não mais enxergá-la sendo violada, é a correta utilização de Controllers.

É uma pena… o nome não ajuda. Você pensa:

Controller, ah, legal, é aqui que a mágica acontece.

Por favor, pense outra vez.

bossy

Controller, mas nem tanto.

O papel do Controller é orquestrar a sua aplicação.
Sendo menos poético: direcionar o fluxo das requisições.

Cabe ao Controller conhecer:

  • O que está sendo solicitado
  • Quem precisa ser comunicado
  • Que resposta devolver ao solicitante

Isto significa que não cabe ao Controller processar a resposta da requisição, o que cabe a ele é passar para frente.

Pense no serviço de Correios.
Você não ficaria feliz se o próprio carteiro abrisse a sua correspondência.

O mesmo acontece com um Controller que ao invés de passar para frente tenta resolver tudo sozinho.
Ele estaria cuidando de uma responsabilidade alheia.

Lembre-se, mantenha os seus Controllers nos eixos.
De brinde você estará aplicando um pouco de SOLID e zelando pela testabilidade do seu sistema, o que é algo muito bom.

badControllers


Help me to spread the word!
  • Digg
  • del.icio.us
  • RSS
  • DotNetKicks
  • Technorati
  • Twitter
  • FriendFeed

Related posts:

  1. (Inglês) The best code ever
  2. ORM – Você ainda não usa?

Written by rafanoronha

June 29th, 2009 at 2:01 am

Posted in Sem categoria

Tagged with ,

Leave a Reply