ASP.NET MVC, o que que é isso?

Se você programa em Java ou Ruby on Rails, saia da sala, pois o assunto aqui é carne de vaca para vocês. Vamos falar do Design Pattern MVC e sua implementação .Net “ASP.NET MVC”.

O objetivo deste padrão de desenvolvimento é uma separação total das três camadas da aplicação, são elas:

Modelo, esta camada contem toda a parte de negócio, ou seja, programação pesada da aplicação, como acesso ao banco de dados, validação, fórmulas etc.

Controle, é responsável por receber uma requisição do usuário. Pode ser reutilizado para requisições com retorno em html, xml ou wml etc. de forma que a mesma requisição web serviria para todos, com o mesmo processamento e apenas o retorno diferente.

Visão, é a apresentação que será mostrada para o usuário ao término do processamento feito pelo controle e, se for o caso, pela camada de modelo.

Segue uma imagem para simplificar o entendimento:

Fluxo

O usuário faz uma chamada http para o controller, este nada mais é do que uma classe com um ou vários métodos. Por exemplo:

namespace Controllers
{
    public class HomeController : Controller
    {
        [ControllerAction]
        public void Index()
        {
            RenderView(”Index”);
        }
    }
}

Para este exemplo a chamada http seria a seguinte: http://meusite.com.br/Home/Index

Você deve estar se perguntando, mas esta pasta não existe, como posso usar esta url?

Simples. A página é virtual, não existe de verdade. Porém o MVC faz uma conversão da primeira pasta /Home/ para uma instanciação da classe Home e a pasta Index para uma chamada ao método Index e por aí vai.

Nosso método Index é muito simples, apenas manda carregar o arquivo de visão chamado Index.aspx, não é necessário informar a extensão do arquivo.

Porém, este método poderia chamar uma dll, webservices e outros componentes. Esses componentes executados pelo controle é a camada de modelo.

Bem, para não estender a conversa, que tal por a mão na massa? É muito fácil. Primeiramente, baixe o Visual Web Developer 2008 (é grátis) em http://www.microsoft.com/express/download/#webInstall. Em seguida, faça o download do nosso projeto exemplo em: http://daviwin.servicos.ws/mvc.zip

Depois de instalar o Visual Studio e baixar o projeto exemplo, abra o Visual Studio, clique em Open Web Site e selecione a pasta do projeto, já descompactado.

Para testar, basta apertar o F5. As urls para teste são: http://localhost:xxx/MVC/Home/Index e http://localhost:xxx/MVC/Home/Pagina2.

Também é possível usar o MVC na Locaweb, basta adicionar a extensão .ashx ao nome do controlador, por exemplo, sitedoze.com.br/Home.ashx/Index e sitedoze.com.br/Home.ashx/Pagina2.

Até a próxima!

Tags: , , , , ,

Enviar por E-Mail

6 respostas to “ASP.NET MVC, o que que é isso?”

  1. Léo Says:

    Adorei essa novidade da LocaWeb de lançar vários blogs temáticos sobre os mais variados assuntos ligados a nossa área.

    Esse por exemplo é um blog muito bom pra trazer novidades e informações, principalmente em relação a segurança nas programações, pois muitos programadores esquecem de lembrar ou não sabem sobre este assunto.

    Parabéns mais uma vez LocaWeb!

    Abraços!

  2. Carlos Says:

    Parabêns a Locaweb por mais esta novidade, e já começando bem com o ASP.Net MVC que promete revolucionar ainda mais o desenvolvimento de aplicações web.

    Abraços!!!

  3. Daniel Says:

    Legal o artigo, só que a 1 mes atras fiz testes com o framework na locaweb e disseram que eu não poderia usar por depender de outros módulos.. não entendi muito bem a resposta deles mais enfim…

    Esse negócio de mudar pra ASHX não vira não.

  4. Davi Says:

    Olá Daniel!

    Essa solução é provisória e já estamos implantando a definitiva sem necessidade do ASHX. Assim que estiver implementado, iremos informar a todos.

  5. Ricardo Says:

    Olá Pessoal!

    Alguém consegui publicar uma aplicação na LocaWeb utilizando o MVC?

    Abraços

  6. Welton Says:

    Estou fazendo testes em MVC.

    Já habilitei na Aplicação a opção MVC.

    No entanto quando faço meu primeiro teste dá este erro:

    The type or namespace name ‘Linq’ does not exist in the namespace ‘System’ (are you missing an assembly reference?)

    e também : para System.Web.Mvc

    Ainda não estou no caminho ou a opção MCV na locawen não esta funcionando ainda?

Deixe um comentário