Obrigado por visitar a devmedia.com.br!

Precisamos de você para divulgar nossos vídeos e cursos gratuitos para a comunidade.

Se você gosta da devmedia.com.br por favor dê-nos o seu clique para o Google+ e ajude outros desenvolvedores ao redor do mundo.



Obrigado por seu apoio!
Equipe DevMedia

sair sem compartilhar (x)
DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:

ASP.NET MVC 2 Tutorial - Model-View-Controller -Parte I

Neste artigo será mostrado o incio de uma aplicação em Asp.Net MVC 2. Usando Visual Studio 2010 e LINQ-To-SQL

Introdução


Padrões arquitetônicos, tal como View-Controller-Model - MVC estão ganhando mais popularidade nos dias de hoje.  A razão disso é simples: o MVC visa separar a lógica de negócio da lógica de apresentação, permitindo o desenvolvimento, teste e manutenção isolada de ambos.
A arquitetura MVC foi descrita em meados de 1979 e foi originalmente desenvolvida para mapear as tarefas tradicionais de entrada, processamento e saída para o modelo de interação com o usuário.  A Figura 1.0 mostra de forma objetiva a abstração do MVC.
 

Figura 1.0 – Arquitetura MVC


Componentes do MVC


Na arquitetura MVC o Modelo (Model) é usado para definir e gerenciar o domínio da informação e notificar observadores sobre mudanças nos dados, como, por exemplo, o estado de uma caixa de texto ou a indicação de ativação de um checkbox.


A renderização ou visualização  (View) acessa os dados do Model  e especifica  como os dados do Model são apresentados ao usuário, como por exemplo, um texto dentro de um TextBox.


O Controle (Controller) é o componente para mapear as ações do usuário na View, as quais ocorrem através de eventos e fazem com que o Model seja modificado. Para citar um exemplo, quando um CheckBox habilitado recebe um evento de click, o Controller mapeia essa ação do usuário e modifica o Model, indicando que este agora está desabilitado. O Model, por sua vez, notifica a View, indicando mudança em seu estado. A View recebe a notificação e renderiza o CheckBox desabilitado na tela.

ASP.NET MVC


O melhor modo de aprender um novo Framework é construindo alguma aplicação com ele. Neste primeiro tutorial vamos conhecer a estrutura do ASP. NET MVC 2 usando o Visual Studio 2010.  Porém nada impede de você usar outra ferramenta, como por exemplo, o Visual Studio 2008.


Iniciando o projeto


Abra o Visual Studio e a partir do menu File selecione  NEW PROJECT. Na janela New Project , em Recent Templates , selecione web;
Em templates selecione ASP. NET MVC 2 Web Application e informe o nome “AppMVC” e selecione a opção do Framework  3.5, conforme mostra a Figura 2.0.

 
Figura 2.0 – ASP. NET MVC 2 Web Application
 
Nota:  A opção do Framework 3.5 foi escolhida  devido alguns hosting não possuírem o Framework 4.0.

Na Figura 2.0 é possível observar que existe outro template chamado de ASP.NET MVC 2  Empty Web Application . Este template possibilita a criação de um projeto em MVC em branco.
Ao clicar no botão OK será apresentada a janela Create Unit Test Project onde você poderá escolher se deseja criar um projeto para realizar testes ou não. No exemplo vamos deixar marcada a opção padrão para criar um projeto de teste para nossa aplicação web.  A Figura 3.0 traz a tela Create Unit Test Project.

 

Figura 3.0 – Create Unit Test Project

Estrutura do Projeto


Na Solution Explorer  tem-se dois projeto, o projeto Web e o projeto de testes, conforme pode ser visualizado na Figura 4.0.

Figura 4.0 – Solution Explorer – Projeto Web e Teste

A estrutura do projeto Web possui por padrão seis pastas, conforme mostrado na Figura 4.0. Abaixo segue uma pequena descrição das responsabilidades de cada uma.


Controller – Nesta pasta serão colocadas as classes de controle;


Models – Nesta pasta serão colocadas as classes para persistência de dados;


Views - Nesta pasta serão colocadas as nossas views.


Content é usada para conter arquivos de estilo CSS ou Imagens. Esta pasta já possui um arquivo de estilo.


Script é para conter os arquivos de javascript. Esta pasta já possui alguns scripts, como algumas bibliotecas de JQUERY.


App_Data é usado para conter arquivos de dados para ler ou escrever.

Nota: Site do  Jquery

O ASP.NET MVC não exige essa estrutura. Na verdade, desenvolvedores que trabalham em aplicativos mais complexos normalmente “dividem” os projetos para torná-lo mais controlável, mas mantendo o conceito.
Quando expandimos o diretório Controller, veremos que o Visual Studio adicionou automaticamente duas classes do controlador, e no diretório View foi adicionado três subdiretórios: Account, Home e Shared.
Reparem que os subdiretórios possuem o mesmo nome das classes dos controladores, subtraído pela palavra Controller.cs. No entanto, o subdiretório Shared é exceção, dentro dele apenas existe uma Master Page.  Toda esta forma possui uma razão. Para melhor entendimento execute a aplicação – F5, e clique sobre o botão About e Log On, a Figura 5.0 mostra como é apresentada a url no navegador ao clicar no botão About.

 

Figura 5.0 – Url

O Framework ASP.NET MVC efetua o mapeamento da url (“/Home/About”) para o servidor web de uma maneira diferente ao ASP.NET convencional. Ao invés de mapear a URL para um arquivo no disco o framework mapeia a URL diretamente para os controllers. Desta forma uma classe Controller irá chamar uma componente View separado, que irá tratar de gerar a saída HTML da requisição.
A convenção padrão usada é mapear o caminho URL principal de uma requisição HTTP (Ex: /Home) para uma classe cujo nome segue o modelo: UrlPathController, como já mencionado. Agora, você deve estar se perguntando, mas, e o About?

A resposta continua no próximo artigo


Continua no próximo artigo.


Parte II






    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



[Este post ainda não foi associado a uma sequência]
Autor
Flavia Moreira

Flávia Moreira graduada em engenharia da computação. Trabalho como desenvolvedora de sistemas. Publico videos no Msdn: http://msdn.microsoft.com/pt-br/silverlight/ Site http://www.dowhile.com.br


Space do autor
Estatísticas #
Favorito:
Comentários:
Feedback:
Utilidade:
4   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]
Este post está disponível para assinantes da .net Magazine ou para quem possui Créditos DevMedia.

  Conheça os planos de créditos DevMedia e visualize esse post agora mesmo!

Plano conveniência – Neste plano este post custa R$ 0,00 (Compre agora)
Esse plano permite que você compre somente um post, pagando por ele seu preço sem desconto.

Plano ocasional: Aqui este post custa: R$ -1,00 (assinante) ou R$ -1,00 (não-assinante)
Este plano é ideal para quem tem interesse em mais de um post. Você compra um mínimo de R$ 50,00 em créditos e ganha, em média, 50% de desconto no preço do post. Compre Créditos agora!

Assinatura de Créditos (Plano econômico) – Aqui este post custa R$ -1,00
Este plano é ideal para quem tem interesse em muitos posts. Com esse plano você compra R$ 180,00 em créditos e ganha, em média, 80% de desconto no preço do post. Assine este plano agora!

> Saiba mais sobre o Sistema de Créditos DevMedia
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03