3. Agenda
• Conceitos importantes...
– Vocês conhecem estes conceitos?
• Design Patterns
– Pra que utilizar Padrões?
• M, V e C
• ASP.NET MVC
• Processo de Execução
• ASP.NET Routing
• Demonstração
• Quando utilizar?
• Informações sobre o Framework
• Mais Informações?
11. Design Patterns
• Definição
Descrevem soluções para problemas recorrentes no
desenvolvimento de sistemas de software orientados a
objetos
Um design pattern estabelece um nome e define o
problema, a solução, quando aplicar esta solução e suas
conseqüências.
http://pt.wikipedia.org/wiki/Design_Patterns
12. M, V e C
• O que é o padrão MVC?
Model
View Controller
13. M, V e C
• O que é o padrão MVC?
Informações utilizadas
pela aplicação
Model
A representação da informação
originada do Model
View Controller
Manipulador das interações do
usuário, modificando o Model
14. M, V e C
• O que é o padrão MVC?
Model
View Controller
15. M, V e C
• O que é o padrão MVC?
Model
View Controller
16. M, V e C
• O que é o padrão MVC?
Lógica de negócio e acesso a fontes
de dados
Model
Inteface da aplicação com
informações sobre o Model
View Controller
O controlador do fluxo de
informações pelo qual o usuário
interage com a aplicação
17. M, V e C
• Entendi... Mas pra que?
TESTES!
Manutenção
Estabilidade
Separação de
Responsabilidades
19. ASP.NET MVC
• ASP.NET MVC permite a criação de aplicações baseadas
no MVC utilizando o framework ASP.NET
• Alternativa ao ASP.NET Web Forms utilizando o padrão
MVC
– Não substitui o ASP.NET Web Forms!
• Vantagens:
– Separação de responsabilidades, testes;
– Um framework extensível
– URL Mapping
– Suporte a ASCX, Master Pages, etc
20. Processo de Execução
1. ASP.NET MVC recebe a requisição para a aplicação
– ASP.NET Routing
2. Localiza a rota correta para o endereço recebido
3. Através de informações da rota localiza o Controller
responsável por atender esta requisição
4. O método configurado no Controller é executado
– O Controller pode se comunicar com o Model
5. O Controller retorna uma View Model
View Controller
21. ASP.NET Routing
• Responsável por efetuar o mapeamento de uma
requisição para uma ação no Controller correspondente
– Tabela de Rotas
23. Quando usar?
• Complexidade maior – mais tempo para
desenvolvimento
• Conhecimentos de OOP
• Possibilita TDD
• Controle total sobre a geração do HTML
– Não utiliza ViewState
– Conhecimentos de HTML e Padrões
• Flexibilidade
• Preocupação em arquitetura, separação de camadas,
estabilidade, manutenção
24. Informações sobre o framework
• Versão 1.0 lançada em Março
• http://www.asp.net/mvc/