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.
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.