Tutorial ASP.NET MVC para iniciantes: o que é, Archiarquitetura

O que é ASP.NET MVC?

ASP.NET MVC é uma estrutura de desenvolvimento web de código aberto da Microsoft que fornece uma arquitetura Model View Controller. O ASP.net MVC oferece uma alternativa aos formulários da web do ASP.net para construir aplicativos da web. É uma parte da plataforma .Net para construir, implementar e executar aplicativos da web. Você pode desenvolver aplicativos da web e sites com a ajuda de HTML, CSS, jQuery, Javascript, etc.

Aprenda MVC com este tutorial ASP.NET MVC que cobre todos os conceitos básicos de MVC para iniciantes:

Por que ASP.net MVC?

Embora os formulários da web tenham tido muito sucesso, Microsoft pensei em desenvolver o ASP.net MVC. O principal problema dos webForms do ASP.net é o desempenho.

Em um artigo do aplicação web, existem quatro aspectos principais que definem o desempenho: -

  • Problemas de tempo de resposta
  • Problema de teste unitário
  • Personalização de HTML
  • Reutilização da classe code-behind

ASP.net MVC se destaca nos parâmetros acima.

Histórico de versões do MVC

ASP.NET MVC1

  • Lançado em 13 de março de 2009
  • Ele roda em .NET 3.5
  • Visual Studio 2008
  • Arquitetura de padrão MVC com WebForm Engine
  • Os principais recursos incluem HTML e Teste de Unidade, Ajudantes Ajax, Roteamento, etc.

ASP.NET MVC2

  • Esta versão foi lançada em 10 de março de 2010
  • Funciona em .NET 3.5,4.0 e com Microsoft Visual Studio 2008
  • Inclui recursos como ajudantes modelados, ajudantes Ul com andaimes automáticos e modelos personalizáveis
  • Ele suporta atributos DataAnnotations para aplicar validação de modelo nos lados do cliente e do servidor

ASP.NET MVC3

  • Foi lançado em 13 de janeiro de 2011
  • Funciona em .NET 4.0 e com Microsoft Visual Studio 2010
  • Uso de NuGet para entregar software e permite gerenciar dependências em toda a plataforma
  • Melhor JavaSuporte a script com validação jQuery e vinculação JSON
  • Ele oferece recursos como o mecanismo de visualização Razor; atributos aprimorados de anotações de dados para validação de modelo nos lados do cliente e do servidor

ASP.NET MVC4

  • Esta versão foi lançada em agosto de 2012
  • Ele roda em .NET 4.0, 4.5 e com Visual Studio 2010 e Visual Studio 2012
  • Melhorias nos modelos de projeto padrão
  • Oferece recursos como modelo de projeto móvel usando jQuery Mobile, suporte a tarefas para controladores assíncronos, agrupamento, minificação, etc.

ASP.NET MVC5

  • Lançado em 17 de outubro de 2013
  • Funciona em .NET 4.5, 4.5.1 e com Visual Studio 2012 e Visual OneASP.NET
  • Suporta roteamento de atributos em MVC

Recursos do MVC

  • Testabilidade fácil e sem atrito
  • Controle total sobre seu HTML, JavaScript e URLs
  • Aproveite o existente ASP.Net Recursos
  • Uma nova opção de apresentação para ASP.Net
  • Uma maneira mais simples de programar Asp.Net
  • Separação clara de lógica: Modelo, Visualização, Controlador
  • Desenvolvimento Orientado a Testes
  • Suporte para desenvolvimento paralelo

Coisas para lembrar ao criar um aplicativo MVC

Aqui estão algumas coisas úteis neste tutorial ASP.NET MVC que você precisa lembrar ao criar um aplicativo MVC:

  • Você precisa se lembrar que o ASP .net MVC NÃO é um substituto dos aplicativos baseados em formulários da web ASP.Net
  • A abordagem de desenvolvimento de aplicativos MVC deve ser decidida com base nos requisitos e recursos do aplicativo fornecidos pelo ASP .net MVC para atender às necessidades específicas de desenvolvimento.
  • O processo de desenvolvimento de aplicativos com ASP .NET MVC é mais complexo em comparação com aplicativos baseados em formulários da web.
  • A capacidade de manutenção do aplicativo sempre será maior com a separação das tarefas do aplicativo.
Padrão arquitetônico MVC
Padrão arquitetônico MVC

MVC é um padrão de arquitetura de software que segue o método de separação de interesses. Neste modelo, os aplicativos .Net são divididos em três partes interconectadas que são chamadas de Modelo, Visualização e Controlador.

O objetivo do padrão MVC é que cada uma dessas partes possa ser desenvolvida, testada em relativo isolamento e também combinada para criar uma aplicação muito robusta.

Vamos ver todos eles em detalhes:

Modelos

Objetos de modelo são partes do aplicativo que implementam a lógica para o aplicativo domínio de dados. Ele recupera e armazena o estado do modelo em um banco de dados. Por exemplo, o objeto produto pode recuperar informações de um banco de dados, opere-o. Em seguida, grave as informações na tabela de produtos no servidor SQL.

Visualizações

Visualizações são os componentes usados ​​para exibir a interface do usuário (UI) do aplicativo, também chamada de viewmodel no MVC. Ele exibe os aplicativos .Net MVC que são criados a partir dos dados do modelo.

O exemplo comum seria uma visualização de edição de uma tabela Item. Ele exibe caixas de texto, pop-ups e caixas de seleção com base no estado atual dos produtos e objetos.

Responsável pelo Tratamento

Os controladores lidam com a interação do usuário, trabalham com o modelo e selecionam uma visualização para renderizar essa Ul de exibição. Em um aplicativo .Net MVC, a visualização exibe apenas informações, o controlador gerencia e responde à entrada e interação do usuário usando filtros de ação no MVC.

Por exemplo, o controlador gerencia valores de string de consulta e passa esses valores para o modelo.

Formulários Web x MVC

parâmetros WebFroms MVC
Modelo Os Formulários Web Asp.Net seguem o modelo de desenvolvimento orientado a eventos. Asp.Net MVC usa modelo de desenvolvimento baseado em padrão MVC.
Usado desde Existe desde 2002 Foi lançado pela primeira vez em 2009
Suporte para estado de visualização O Asp.Net Web Form suporta visualização de estado para gerenciamento de estado no lado do cliente. .Net MVC não suporta estado de visualização.
Tipo de URL O Asp.Net Web Form possui URLs baseados em arquivos. Isso significa que o nome do arquivo existe nos URLs e eles devem existir fisicamente. O Asp.Net MVC possui URLs baseados em rotas, o que significa URLs que são redirecionados para controladores e ações.
Sintaxe Asp.Net MVC segue a sintaxe de formulários da Web. Asp.Net MVC segue a sintaxe personalizável.
Tipo de vista Web Form, as visualizações são fortemente acopladas ao Code Behind (ASPX-CS), ou seja, à lógica. MVC, visualizações e lógica são sempre mantidos separadamente.
Aparência consistente Possui páginas mestras para uma aparência consistente. O Asp.Net MVC possui layouts para uma aparência consistente.
Reutilização de código O Web Form oferece controles de usuário para reutilização de código. Asp.Net MVC oferece visualizações parciais para reutilização de código.
Controle para HTML Less controle sobre HTML renderizado. Controle total sobre HTML
Gestão do estado Gerenciamento automático de estado de controles. Gerenciamento manual de estado.
Suporte TDD É necessário um TDD fraco ou personalizado. Incentiva e inclui TDD!

Vantagens do ASP.NET MVC

  • Aplicativos altamente sustentáveis ​​por padrão
  • Ele permite substituir qualquer componente do aplicativo.
  • Melhor suporte para desenvolvimento orientado a testes
  • Aplicativos complexos são fáceis de gerenciar devido às divisões de Modelo, Visualização e Controladores.
  • Oferecendo mecanismo de roteamento robusto com padrão de controlador frontal
  • Oferece melhor controle sobre o comportamento do aplicativo com a eliminação do estado de visualização e dos formulários baseados em servidor
  • Os aplicativos .Net MVC são suportados por grandes equipes de desenvolvedores e Web designers
  • Oferece mais controle sobre o comportamento do aplicativo. Ele também usa uma largura de banda otimizada para solicitações feitas ao servidor

Desvantagens da ASP.NET MVC

  • Você não pode ver a visualização da página de design como a página .aspx.
  • Você precisa executar o programa todas as vezes para ver seu design real.
  • Compreender o fluxo do aplicativo pode ser um desafio
  • É bastante complicado de implementar, por isso não é uma opção ideal para aplicações de pequeno nível
  • É difícil aprender MVC para ASP.NET, pois requer um grande entendimento do padrão MVC

Melhores práticas ao usar ASP.Net MVC

  • Crie um assembly separado para MODEL no caso de código grande e complexo para evitar qualquer situação indesejada
  • O modelo deve incluir lógica de negócios, manutenção de sessão, parte de validação e parte de lógica de dados.
  • VIEW não deve conter nenhuma lógica de negócios e manutenção de sessão, use ViewData para acessar dados em View
  • A lógica de negócios e o acesso a dados nunca devem ocorrer no ControllerViewData
  • O controlador deve ser responsável apenas por preparar e retornar uma visualização, chamar o modelo, redirecionar para a ação, etc.
  • Exclua o código de demonstração do aplicativo ao criá-lo Exclua AccountController
  • Use apenas um mecanismo de visualização específico para criar marcação HTML a partir de sua visualização, pois é a combinação de HTML e código de programação.

Resumo

  • ASP.NET MVC é uma estrutura de desenvolvimento web de código aberto da Microsoft que fornece uma Arquitetura do Model View Controller.
  • ASP.net MVC oferece uma alternativa aos formulários web ASP.net para a construção de aplicações web.
  • O principal problema dos webForms do ASP.net é o desempenho.
  • ASP.net MVC oferece testabilidade fácil e sem atrito com controle total sobre seu HTML e URLs.
  • Você precisa lembrar que o ASP .net MVC NÃO é um substituto dos aplicativos baseados em formulários da web ASP.Net.
  • A abordagem de desenvolvimento de aplicativos MVC ou ciclo de vida do ASP.NET MVC deve ser decidida com base nos requisitos e recursos do aplicativo fornecidos pelo ASP .net MVC para atender às necessidades específicas de desenvolvimento.
  • ASP.NET MVC oferece aplicativos de alta manutenção por padrão.
  • Com ASP.net você não pode ver a visualização da página de design como a página .aspx.
  • Como prática recomendada, o modelo deve incluir lógica de negócios, manutenção de sessão, parte de validação e parte de lógica de dados.