Desvendando o ASP.NET MVC
May 24, 2015
Desvendando o ASP.NET MVC
@vquaiato
http://viniciusquaiato.com
Coordenador .NET Gonow Tecnologia
.NET Architects
.NET Magazine
Fazer software não é algo muito simples...
Muitas vezes acabamos com uma bagunça tremenda...
Mas queremos criar as melhores soluções:
Clareza
Facilidade de manutenção
Extensibilidade
Coesão
O padrão MVC
São as classes do nosso sistema, as classes que criamos para atender ao
negócio proposto
Dentro da camada model temos:
Entidades
Acesso a Dados
Serviços
São responsáveis por receber e responder as requisições
Não possuem regras de negócio!
São uma ponte entre a visão e o modelo
É literalmente uma visão: a representação gráfica do modelo.
É através da View que é possível alterar e interagir com o model.
Não existem regras de negócio da view!
No máximo regras de exibiçao!
Ok, mas...
Arquitetura de software é algo muito importante
Fazer software não é algo simples
Pensar e valorizar arquitetura nos permite criar aplicações mais:
Claras
Fáceis de manter
Extensíveis
Coesas
Pensar em arquitetura não significa perder dias e mais dias “meditando”
Arquitetura é algo prático
Framework web que implementa o padrão MVC
É uma parte do ASP.NET
Templates de projeto, classes, helpers, controles que facilitam a criação de
aplicações web
Não é apenas uma escolha tecnológica, é uma escolha de arquitetura
Não existe um tipo de projeto específico para usar ASP.NET MVC
Toda e qualquer aplicação pode (e deve) usar o ASP.NET MVC
É um framework maduro, estável e bastante completo
Já utilizado por sistemas de grande porte e grandes empresas
Quando seu sistema já utilizar outra plataforma
Projetos simples não devem usar MVC
Projetos simples não devem usar MVC
Mito!
A equipe não conhece ASP.NET MVC
A equipe não conhece ASP.NET MVC
Mito!
Precisar de controles prontos e ricos
Precisar de controles prontos e ricos
Mito!
Precisar facilidade para trabalhar com Ajax
Precisar facilidade para trabalhar com Ajax
Mito!
Precisar de um framework maduro
Precisar de um framework maduro
Mito!
Precisar de profissionais do mercado
Precisar de profissionais do mercado
Mito!
Precisar fazer o projeto rápido
Precisar fazer o projeto rápido
Mito!
Extensível
Testável (TDD)
SoC
DRY
Controlável
Views podem ser trocadas e criadas com diversas View Engines
Model Binder pode ser customizado
Pontos de extensão para adicionar funcionalidades globais
Tudo é testável!
Controllers, model, views
Possível trabalhar com TDD em todas as camadas
Separation of Concerns
É possível manter as responsabilidades nos lugares corretos
Facilita manutenção, testes, evolução, coeacão
Don’t Repeat Yourself
Evita duplicações de código: helpers, filters, validation attributes
Repetição de código é uma das raízes de todo mal!
Todas as camadas estão ao nosso controle
Podemos controlar todo HTML gerado
Não existe manutenção de estados de controles
Desconheço
O ASP.NET MVC está praticamente em sua versão 3
Em menos de 3 anos!
Razor view engine
Javascript e Ajax não intrusivo
Filtros globais
Controllers sem sessão
Validação remota
Web helpers
E muito mais!
Razor
Filtros globais
Controllers sem sessão
Output Cache
Um blog feito com ASP.NET MVC
Muito obrigado!
http://asp.net/mvc
http://asp.net/mvc/mvc3
http://weblogs.asp.net/scottgu/
http://haacked.com/http://viniciusquaiato.com/blog/asp-net-mvc-3/