28

Asp.Net Mvc

Embed Size (px)

DESCRIPTION

Apresentação de ASP.NET MVC no Londrina Tech Day, dia 24/04/2009, Campus da PUC

Citation preview

Page 1: Asp.Net Mvc
Page 2: Asp.Net Mvc

Introdução ao ASP.NET MVC

André NobreNBR Tecnologia

Page 3: Asp.Net Mvc

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?

Page 4: Asp.Net Mvc

Conceitos importantes...

Quem conhece...

Page 5: Asp.Net Mvc

Conceitos importantes...

Abstração, polimorfismo, herança e encapsulamento

Page 6: Asp.Net Mvc

Conceitos importantes...

SRPThe Single Responsibility Principle

Page 7: Asp.Net Mvc

Conceitos importantes...

Padrão MVC

Page 8: Asp.Net Mvc

Conceitos importantes...

TDDTest Driven Development

Page 9: Asp.Net Mvc

Conceitos importantes...

ASP.NET Web Forms

Page 10: Asp.Net Mvc

Fundamento...

Padrões de DesignDesign Patterns

Page 11: Asp.Net Mvc

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

Page 12: Asp.Net Mvc

M, V e C• O que é o padrão MVC?

View Controller

Model

Page 13: Asp.Net Mvc

M, V e C• O que é o padrão MVC?

View Controller

Model

Informações utilizadas pela aplicação

A representação da informação originada do Model

Manipulador das interações do usuário, modificando o Model

Page 14: Asp.Net Mvc

M, V e C• O que é o padrão MVC?

View Controller

Model

Page 15: Asp.Net Mvc

M, V e C• O que é o padrão MVC?

Controller

Model

View

Page 16: Asp.Net Mvc

M, V e C• O que é o padrão MVC?

Model

Controller

Lógica de negócio e acesso a fontes de dados

O controlador do fluxo de informações pelo qual o usuário

interage com a aplicação

View

Inteface da aplicação com informações sobre o Model

Page 17: Asp.Net Mvc

M, V e C• Entendi... Mas pra que?

Separação de Responsabilidades

Estabilidade

Manutenção

TESTES!

Page 18: Asp.Net Mvc

M, V e C• Exemplo

Page 19: Asp.Net Mvc

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

Page 20: Asp.Net Mvc

Processo de Execução1. ASP.NET MVC recebe a requisição para a aplicação– ASP.NET Routing

2. Localiza a rota correta para o endereço recebido3. Através de informações da rota localiza o Controller

responsável por atender esta requisição4. O método configurado no Controller é executado– O Controller pode se comunicar com o Model

5. O Controller retorna uma View

Controller

Model

View

Page 21: Asp.Net Mvc

ASP.NET Routing• Responsável por efetuar o mapeamento de uma

requisição para uma ação no Controller correspondente– Tabela de Rotas

Page 22: Asp.Net Mvc

Demonstração

Page 23: Asp.Net Mvc

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

Page 24: Asp.Net Mvc

Informações sobre o framework• Versão 1.0 lançada em Março• http://www.asp.net/mvc/

Page 25: Asp.Net Mvc

Dúvidas?

Page 26: Asp.Net Mvc

Mais informações• http://www.asp.net/mvc• http://www.hanselman.com• http://weblogs.asp.net/scottgu• http://haacked.com• http://stephenwalther.com/blog/category/4.aspx• http://visitmix.com• http://weblogs.asp.net/andrenobre• SharpCode - http://sharpcode.com.br/• .NET Architects - http://www.dotnetarchitects.net/

Page 27: Asp.Net Mvc

Cursos• Introdução ao ASP.NET MVC– http://www.nbrtecnologia.com.br/Curso/AspNetMvc/

Page 28: Asp.Net Mvc

Obrigado!

Introdução ao ASP.NET MVC

André [email protected]://weblogs.asp.net/andrenobretwitter.com/nbrtec