Você está na página 1de 3

04/03/2018 Visão geral do ASP.

NET MVC

Para exibir o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode
exibir o texto em inglês em uma janela popup, movendo o ponteiro do mouse sobre o Tradução Inglês
texto.

Visão geral do ASP.NET MVC

O padrão arquitetônico MVC (Model-View-Controller) separa um aplicativo em três componentes principais: modelo,
exibição e controlador. A estrutura ASP.NET MVC oferece uma alternativa ao padrão Web Forms do ASP.NET para criar
aplicativos Web. A estrutura ASP.NET MVC é uma estrutura de apresentação leve e altamente testável que (à semelhança dos
aplicativos baseados em Web Forms) é integrada aos recursos ASP.NET existentes, como páginas mestras e autenticação
baseada em associação. A estrutura MVC é definida no assembly System.Web.Mvc.

Padrão de design MVC

O MVC é um padrão de design padrão que muitos desenvolvedores conhecem. Alguns tipos de aplicativos Web irão se
beneficiar da estrutura MVC. Outros vão continuar usando o padrão de aplicativo ASP.NET tradicional que é baseado em
Web Forms e postbacks. Outros tipos de aplicativos Web irão combinar as duas abordagens; uma abordagem não exclui a
outra.

A estrutura MVC inclui os seguintes componentes:

Modelos. Os objetos de modelo são as partes do aplicativo que implementam a lógica para o domínio de dados do
aplicativo. Muitas vezes, os objetos de modelo recuperam e armazenam o estado do modelo em um banco de dados.
Por exemplo, um objeto Product pode recuperar informações de um banco de dados, operar nele e, em seguida,
gravar informações atualizadas de volta em uma tabela de Produtos em um banco de dados do SQL Server.

Em aplicativos pequenos, o modelo, muitas vezes, é uma separação conceitual em vez de física. Por exemplo, se o
aplicativo apenas ler um conjunto de dados e enviá-lo para exibição, o aplicativo não terá uma camada de modelo
físico nem classes associadas. Nesse caso, o conjunto de dados assume a função de um objeto de modelo.

Exibições. As exibições são os componentes que exibem a interface do usuário (IU) do aplicativo. Normalmente, esta
IU é criada a partir dos dados do modelo. Um exemplo seria uma exibição de edição de uma tabela de Produtos que
mostra caixas de texto, listas suspensas e caixas de seleção com base no estado atual de um objeto Product.

Controladores. Os controladores são os componentes que lidam com a interação do usuário, trabalham com o
modelo e, finalmente, selecionam uma exibição de renderização que mostra essa IU. Em um aplicativo MVC, a
exibição só mostra informações; o controlador manipula e responde à entrada e à interação do usuário. Por exemplo,
o controlador manipula valores da cadeia de consulta e passa esses valores ao modelo, que por sua vez pode usar
estes valores para consultar o banco de dados.

https://msdn.microsoft.com/pt-br/library/dd381412(v=vs.108).aspx 1/3
04/03/2018 Visão geral do ASP.NET MVC

O padrão MVC ajuda a criar aplicativos que separam os diferentes aspectos do aplicativo (lógica de entrada, lógica de
negócio e lógica da IU), enquanto fornece um acoplamento flexível entre esses elementos. O padrão especifica onde cada
tipo de lógica deve ficar localizado no aplicativo. A lógica da IU fica na exibição. A lógica de entrada fica no controlador. A
lógica de negócios fica no modelo. Essa separação ajuda a administrar a complexidade quando você cria um aplicativo,
porque ela permite que você se concentre em um aspecto da implementação por vez. Por exemplo, você pode se concentrar
na exibição sem depender da lógica de negócios.

O acoplamento flexível entre os três componentes principais de um aplicativo MVC também promove o desenvolvimento
paralelo. Por exemplo, um desenvolvedor pode trabalhar na exibição, um segundo desenvolvedor pode trabalhar na lógica
do controlador e um terceiro desenvolvedor pode se concentrar na lógica de negócios do modelo.

Suporte para desenvolvimento controlado por testes


Além de administrar a complexidade, o padrão MVC torna o teste de aplicativos mais fácil do que o teste de um aplicativo
Web ASP.NET baseado em Web Forms. Por exemplo, num aplicativo Web ASP.NET baseado em Web Forms, uma única
classe é usada para exibir a saída e para responder à entrada do usuário. Escrever testes automatizados para aplicativos
ASP.NET baseados em Web Forms pode ser complexo, pois para testar uma página individual, você deve criar uma
instância da classe da página, de todos os seus controles filhos e das classes dependentes adicionais no aplicativo. Uma
vez que são criadas instâncias de tantas classes para executar a página, pode ser complicado escrever testes que se
foquem exclusivamente em partes individuais do aplicativo. Os testes para aplicativos ASP.NET baseados em Web Forms
podem, por isto, ser mais difíceis de implementar do que testes em um aplicativo MVC. Além disso, os testes em
aplicativos ASP.NET baseados em Web Forms exigem um servidor Web. A estrutura MVC separa os componentes e usa
interfaces intensamente, o que torna possível testar componentes individuais isoladamente do resto da estrutura.

Quando criar um aplicativo MVC


Você deve considerar cuidadosamente se deve implementar um aplicativo Web usando a estrutura ASP.NET MVC ou o
modelo de Web Forms do ASP.NET. A estrutura MVC não substitui o modelo de Web Forms; você pode usar ambas as
estruturas para aplicativos Web. (Se você tem aplicativos existentes baseados em Web Forms, eles continuarão a funcionar
exatamente como funcionavam antes).

Antes de você decidir usar a estrutura MVC ou o modelo de Web Forms para um determinado site, pondere as vantagens
de cada abordagem.

Vantagens de um aplicativo Web baseado em MVC


A estrutura ASP.NET MVC oferece as seguintes vantagens:

Ela torna mais fácil gerenciar a complexidade ao dividir o aplicativo em modelo, exibição e controlador.

Ela não utiliza o estado de exibição nem formulários baseados no servidor. Isto torna a estrutura MVC ideal para
desenvolvedores que desejam controle completo sobre o comportamento do aplicativo.

Ela usa um padrão Front Controller que processa as solicitações do aplicativo Web através de um único
controlador. Isto permite desenvolver um aplicativo que suporta uma poderosa infraestrutura de roteamento. Para
obter mais informações, consulte Front Controller.

Ela fornece um melhor suporte para desenvolvimento controlado por testes (TDD – test-driven development).

Ela funciona bem com aplicativos Web que são suportados por grandes equipes de desenvolvedores e com Web
designers que precisem de um grande grau de controle sobre o comportamento do aplicativo.

Vantagens de um aplicativo Web baseado em Web Forms


A estrutura baseada em Web Forms oferece as seguintes vantagens:

https://msdn.microsoft.com/pt-br/library/dd381412(v=vs.108).aspx 2/3
04/03/2018 Visão geral do ASP.NET MVC

Ela suporta um modelo de evento que preserva o estado sobre HTTP, o que beneficia o desenvolvimento de
aplicativos Web de linha de negócios. O aplicativo baseado em Web Forms fornece dezenas de eventos que são
suportados em centenas de controles de servidor.

Ela usa um padrão Page Controller que adiciona funcionalidade em páginas individuais. Para obter mais
informações, consulte Page Controller.

Ela utiliza o estado de exibição em formulários baseados no servidor, o que pode facilitar o gerenciamento de
informações de estado.

Ela funciona bem com pequenas equipes de desenvolvedores e Web designers que desejem tirar proveito do
grande número de componentes disponíveis para um rápido desenvolvimento do aplicativo.

Em geral, é menos complexo para o desenvolvimento de aplicativos, pois os componentes (a classe Page, controles
e assim por diante) estão extremamente integrados e, normalmente, exigem menos código do que o modelo MVC.

Recursos da estrutura ASP.NET MVC


A estrutura ASP.NET MVC fornece os seguintes recursos:

Separação de tarefas do aplicativo (lógica de entrada, lógica de negócio e lógica da IU), possibilidade de testes e
desenvolvimento controlado por testes (TDD). Todos os contratos núcleo na estrutura MVC são baseados na
interface e podem ser testados usando objetos fictícios, que são objetos simulados que imitam o comportamento
dos objetos reais no aplicativo. Você pode testar a unidade do aplicativo sem ter que executar os controladores em
um processo ASP.NET, o que acelera e flexibiliza o teste da unidade. Você pode usar qualquer estrutura de teste da
unidade que seja compatível com o .NET Framework.

Uma estrutura extensível e conectável. Os componentes da estrutura ASP.NET MVC são desenvolvidos para serem
facilmente substituídos ou personalizados. É possível conectar o seu próprio mecanismo de exibição, política de
roteamento de URL, serialização de parâmetro ação-método e outros componentes. A estrutura ASP.NET MVC
também suporta o uso dos modelos de contêiner de DI (Dependency Injection – Injeção de Dependência) e IOC
(Inversion of Control – Inversão de Controle). A DI permite injetar objetos em uma classe, em vez de depender da
classe para criar o objeto. A IOC especifica que se um objeto requer outro objeto, os primeiros objetos devem
obter o segundo objeto de uma fonte exterior como um arquivo de configuração. Isto facilita os testes.

Suporte abrangente para roteamento ASP.NET, que é um poderoso componente de mapeamento de URL que
permite desenvolver aplicativos que têm URLs abrangentes e pesquisáveis. As URLs não precisam incluir extensões
de nome de arquivo e são desenvolvidas para suportar padrões de denominação de URLs que funcionam bem para
SEO (Search Engine Optimization – Otimização do Mecanismo de Pesquisa) e endereçamento REST
(Representational State Transfer – Transferência de Estado Representacional).

Suporte ao uso de marcação em arquivos de marcação de páginas ASP.NET (arquivos .aspx), de controle de usuário
(arquivos .ascx) e de página mestra (arquivos .master) existentes como modelos de exibição. Você pode usar
recursos ASP.NET existentes com a estrutura ASP.NET MVC, como páginas mestras aninhadas, expressões em linha
(<%= %>), controles de servidor declarativos, modelos, vinculação de dados, localização e assim por diante.

Suporte para recursos ASP.NET existentes. A estrutura ASP.NET MVC permite a utilização de recursos como
autenticação de formulários e autenticação do Windows, autorização de URLs, associação e funções, caching de
saída e dados, gerenciamento de estado de sessão e perfil, monitoramento de integridade, sistema de
configuração e arquitetura de provedor.

© 2018 Microsoft

https://msdn.microsoft.com/pt-br/library/dd381412(v=vs.108).aspx 3/3

Você também pode gostar