71
Desvendando o ASP.NET MVC

Desvendando ASP.NET MVC

Embed Size (px)

DESCRIPTION

Slides da palestra sobre ASP.NET MVC minsitrada na Anhembi Morumbi por Vinicius Quaiato.Apresentação do padrão MVC, conceitos de arquitetura de software e boas práticas, e demos de aplicações usando ASP.NET MVC 3

Citation preview

Page 1: Desvendando ASP.NET MVC

Desvendando o ASP.NET MVC

Page 2: Desvendando ASP.NET MVC

@vquaiato

http://viniciusquaiato.com

[email protected]

Coordenador .NET Gonow Tecnologia

.NET Architects

.NET Magazine

Page 3: Desvendando ASP.NET MVC
Page 4: Desvendando ASP.NET MVC

Fazer software não é algo muito simples...

Page 5: Desvendando ASP.NET MVC

Muitas vezes acabamos com uma bagunça tremenda...

Page 6: Desvendando ASP.NET MVC
Page 7: Desvendando ASP.NET MVC

Mas queremos criar as melhores soluções:

Clareza

Facilidade de manutenção

Extensibilidade

Coesão

Page 8: Desvendando ASP.NET MVC
Page 9: Desvendando ASP.NET MVC

O padrão MVC

Page 10: Desvendando ASP.NET MVC
Page 11: Desvendando ASP.NET MVC
Page 12: Desvendando ASP.NET MVC

São as classes do nosso sistema, as classes que criamos para atender ao

negócio proposto

Page 13: Desvendando ASP.NET MVC

Dentro da camada model temos:

Entidades

Acesso a Dados

Serviços

Page 14: Desvendando ASP.NET MVC
Page 15: Desvendando ASP.NET MVC

São responsáveis por receber e responder as requisições

Page 16: Desvendando ASP.NET MVC

Não possuem regras de negócio!

Page 17: Desvendando ASP.NET MVC

São uma ponte entre a visão e o modelo

Page 18: Desvendando ASP.NET MVC
Page 19: Desvendando ASP.NET MVC

É literalmente uma visão: a representação gráfica do modelo.

Page 20: Desvendando ASP.NET MVC

É através da View que é possível alterar e interagir com o model.

Page 21: Desvendando ASP.NET MVC

Não existem regras de negócio da view!

No máximo regras de exibiçao!

Page 22: Desvendando ASP.NET MVC
Page 23: Desvendando ASP.NET MVC

Ok, mas...

Page 24: Desvendando ASP.NET MVC
Page 25: Desvendando ASP.NET MVC

Arquitetura de software é algo muito importante

Page 26: Desvendando ASP.NET MVC

Fazer software não é algo simples

Page 27: Desvendando ASP.NET MVC

Pensar e valorizar arquitetura nos permite criar aplicações mais:

Claras

Fáceis de manter

Extensíveis

Coesas

Page 28: Desvendando ASP.NET MVC
Page 29: Desvendando ASP.NET MVC

Pensar em arquitetura não significa perder dias e mais dias “meditando”

Page 30: Desvendando ASP.NET MVC

Arquitetura é algo prático

Page 31: Desvendando ASP.NET MVC

Framework web que implementa o padrão MVC

Page 32: Desvendando ASP.NET MVC

É uma parte do ASP.NET

Page 33: Desvendando ASP.NET MVC

Templates de projeto, classes, helpers, controles que facilitam a criação de

aplicações web

Page 34: Desvendando ASP.NET MVC

Não é apenas uma escolha tecnológica, é uma escolha de arquitetura

Page 35: Desvendando ASP.NET MVC

Não existe um tipo de projeto específico para usar ASP.NET MVC

Page 36: Desvendando ASP.NET MVC

Toda e qualquer aplicação pode (e deve) usar o ASP.NET MVC

Page 37: Desvendando ASP.NET MVC

É um framework maduro, estável e bastante completo

Page 38: Desvendando ASP.NET MVC

Já utilizado por sistemas de grande porte e grandes empresas

Page 39: Desvendando ASP.NET MVC

Quando seu sistema já utilizar outra plataforma

Page 40: Desvendando ASP.NET MVC

Projetos simples não devem usar MVC

Page 41: Desvendando ASP.NET MVC

Projetos simples não devem usar MVC

Mito!

Page 42: Desvendando ASP.NET MVC

A equipe não conhece ASP.NET MVC

Page 43: Desvendando ASP.NET MVC

A equipe não conhece ASP.NET MVC

Mito!

Page 44: Desvendando ASP.NET MVC

Precisar de controles prontos e ricos

Page 45: Desvendando ASP.NET MVC

Precisar de controles prontos e ricos

Mito!

Page 46: Desvendando ASP.NET MVC

Precisar facilidade para trabalhar com Ajax

Page 47: Desvendando ASP.NET MVC

Precisar facilidade para trabalhar com Ajax

Mito!

Page 48: Desvendando ASP.NET MVC

Precisar de um framework maduro

Page 49: Desvendando ASP.NET MVC

Precisar de um framework maduro

Mito!

Page 50: Desvendando ASP.NET MVC

Precisar de profissionais do mercado

Page 51: Desvendando ASP.NET MVC

Precisar de profissionais do mercado

Mito!

Page 52: Desvendando ASP.NET MVC

Precisar fazer o projeto rápido

Page 53: Desvendando ASP.NET MVC

Precisar fazer o projeto rápido

Mito!

Page 54: Desvendando ASP.NET MVC
Page 55: Desvendando ASP.NET MVC

Extensível

Testável (TDD)

SoC

DRY

Controlável

Page 56: Desvendando ASP.NET MVC

Views podem ser trocadas e criadas com diversas View Engines

Model Binder pode ser customizado

Pontos de extensão para adicionar funcionalidades globais

Page 57: Desvendando ASP.NET MVC

Tudo é testável!

Controllers, model, views

Possível trabalhar com TDD em todas as camadas

Page 58: Desvendando ASP.NET MVC

Separation of Concerns

É possível manter as responsabilidades nos lugares corretos

Facilita manutenção, testes, evolução, coeacão

Page 59: Desvendando ASP.NET MVC

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!

Page 60: Desvendando ASP.NET MVC

Todas as camadas estão ao nosso controle

Podemos controlar todo HTML gerado

Não existe manutenção de estados de controles

Page 61: Desvendando ASP.NET MVC
Page 62: Desvendando ASP.NET MVC
Page 63: Desvendando ASP.NET MVC

Desconheço

Page 64: Desvendando ASP.NET MVC
Page 65: Desvendando ASP.NET MVC

O ASP.NET MVC está praticamente em sua versão 3

Em menos de 3 anos!

Page 66: Desvendando ASP.NET MVC

Razor view engine

Javascript e Ajax não intrusivo

Filtros globais

Controllers sem sessão

Validação remota

Web helpers

E muito mais!

Page 67: Desvendando ASP.NET MVC

Razor

Filtros globais

Controllers sem sessão

Output Cache

Page 68: Desvendando ASP.NET MVC

Um blog feito com ASP.NET MVC

Page 69: Desvendando ASP.NET MVC

Muito obrigado!

Page 70: Desvendando ASP.NET MVC

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/

Page 71: Desvendando ASP.NET MVC

@vquaiato

http://viniciusquaiato.com

[email protected]