Desvendando ASP.NET MVC

Preview:

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

Desvendando o ASP.NET MVC

@vquaiato

http://viniciusquaiato.com

vinicius.quaiato@gmail.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/

@vquaiato

http://viniciusquaiato.com

vinicius.quaiato@gmail.com