quarta-feira, 29 de agosto de 2012

ASP.NET MVC - Uma visão geral

O Model-View-Controller (MVC) de arquitetura separa uma aplicação em três componentes principais: o modelo, a vista, e do controlador. O ASP.NET MVC fornece uma alternativa ao padrão ASP.NET Web Forms para a criação de aplicações web. O ASP.NET MVC é um peso leve, estrutura de apresentação altamente testável que (como Web com aplicativos baseados em formulários) é integrado com os recursos existentes ASP.NET, como páginas mestras e baseada em membros de autenticação. O quadro MVC é definido na System.Web.Mvc montagem.


MVC é um padrão de projeto padrão que muitos desenvolvedores estão familiarizados. Alguns tipos de aplicativos Web irão beneficiar do framework MVC. Outros vão continuar a usar o padrão de aplicação ASP.NET tradicional que se baseia na Web Forms e postagens. Outros tipos de aplicações Web irá combinar as duas abordagens, nem abordagem exclui a outra.
O framework MVC inclui os seguintes componentes:
  • Modelos. Objetos do modelo são as partes da aplicação que implementam a lógica de domínio de dados do aplicativo. Muitas vezes, os objetos do modelo recuperam e armazenam o modelo em um banco de dados. Por exemplo, um objeto produto pode recuperar informações de um banco de dados, operar sobre ele, e em seguida, escrever informações atualizadas de volta a uma tabela de produtos em um banco de dados SQL Server.
    Em pequenas aplicações, o modelo é muitas vezes uma separação conceitual em vez de um físico. Por exemplo, se o aplicativo só lê um conjunto de dados e envia-lo a View, o aplicativo não tem uma camada de modelo físico e classes associadas. Nesse caso, o conjunto de dados assume o papel de um objecto modelo.

  • View. São os componentes que mostrar a interface do usuário (UI). Normalmente, esta interface é criada a partir dos dados do modelo. Um exemplo seria um modo de edição de uma tabela de produtos que exibe caixas de texto, listas suspensas e caixas de seleção com base no estado atual de um produto objeto.

  • Controladores. Controladores são os componentes que lidam com a interação do usuário, o trabalho com o modelo e, finalmente, selecionar a fim de tornar essa exibe interface do usuário. Em uma aplicação MVC, a visão só exibe informações, o controlador manipula e responde à entrada do usuário e interação. Por exemplo, o controlador manipula seqüência de consulta de valores, e passa esses valores para o modelo, que por sua vez pode usar estes valores para consultar o banco de dados.
O padrão MVC ajuda a criar aplicações que separam os diferentes aspectos da aplicação (entrada lógica, a lógica de negócio e lógica UI), enquanto fornece um acoplamento entre esses elementos. O padrão especifica onde cada tipo de lógica deve estar localizado na aplicação. A lógica da interface do usuário pertence a vista. Lógica de entrada pertence ao controlador. A lógica do negócio pertence ao modelo. Essa separação ajuda a gerenciar a complexidade, quando você cria um aplicativo, porque ele permite que você se concentrar em um aspecto da aplicação de cada vez. Por exemplo, você pode se concentrar na visão sem depender da lógica de negócios.
O acoplamento entre os três componentes principais de uma aplicação MVC também promove o desenvolvimento paralelo. Por exemplo, um desenvolvedor pode trabalhar na vista, um segundo desenvolvedor pode trabalhar na lógica do controlador, e um desenvolvedor terceiro pode se concentrar na lógica de negócio no modelo.

O ASP.NET MVC oferece os seguintes recursos:
  • Separação de tarefas do aplicativo (entrada lógica, a lógica de negócio e lógica UI), testabilidade e Test-Driven Development (TDD). Todos os contratos principais no framework MVC é baseado na interface e pode ser testado usando objetos simulados, que são objetos simulados que imitam o comportamento de objetos reais da aplicação. Pode-unidade testar o aplicativo sem ter que executar os controladores em um processo ASP.NET, o que torna o teste de unidade rápida e flexível. Você pode usar qualquer estrutura de testes de unidade, que é compatível com o quadro. NET.

  • Uma estrutura extensível e conectável. Os componentes da estrutura do ASP.NET MVC foram concebidos de modo a poderem ser facilmente substituídos ou personalizado. A política de roteamento de URL, método de ação de serialização parâmetro, e outros componentes. O ASP.NET MVC também suporta o uso de injeção de dependência (DI) e Inversão de modelos de controle (COI) de contêineres. DI permite injetar objetos em uma classe, em vez de confiar na classe para criar o objeto em si. COI especifica que, se um objeto requer um outro objeto, os primeiros objetos deve começar o segundo objeto a partir de uma fonte externa, como um arquivo de configuração. Isto facilita o teste.

  • Amplo suporte para ASP.NET roteamento, que é um componente de mapeamento URL-poderoso que lhe permite construir aplicações que têm URLs compreensível e pesquisável. URLs não tem que incluir o arquivo extensões de nome, e são projetados para suportar padrões de URL de nomenclatura que funcionam bem para Search Engine Optimization (SEO) e transferência de estado representacional (REST) ​​endereçamento.

  • Suporte para usar a marcação na página ASP.NET (. Aspx), controle de usuário (. Ascx arquivos), e na página principal (arquivos. Master) arquivos de marcação como modelos de visão. Você pode usar os recursos do ASP.NET existentes com o ASP.NET MVC framework, como páginas mestras aninhadas, em linha de expressões ( <% =%> ), controles de servidor declarativas, modelos de vinculação de dados, localização, e assim por diante.

  • Suporte para recursos ASP.NET existentes. ASP.NET MVC permite que você use recursos como formas de autenticação e autenticação do Windows, a autorização de URL, associação e funções, saída e armazenamento em cache de dados de sessão e gerenciamento de estado do perfil, vigilância da saúde, o sistema de configuração, ea arquitetura provedor.
Referencia: http://msdn.microsoft.com/en-us/library/dd381412(v=vs.108)

Nenhum comentário:

Postar um comentário