0
Globalcode – open4educationVinicius Quaiato @vquaiato http://viniciusquaiato.com
ASP.NET MVC 3
Mais poder no ASP.NET MVC
Globalcode – open4educationVinicius Quaiato @vquaiato http://viniciusquaiato.com
About: Vinicius Quaiato
• Arquitetura e d...
Globalcode – open4educationVinicius Quaiato @vquaiato http://viniciusquaiato.com
Contact: me
• http://viniciusquaiato.com
...
Globalcode – open4educationVinicius Quaiato @vquaiato http://viniciusquaiato.com
Lambda3
• Parceria
• http://lambda3.com.br
Globalcode – open4educationVinicius Quaiato @vquaiato http://viniciusquaiato.com
Objetivos
Globalcode – open4educationVinicius Quaiato @vquaiato http://viniciusquaiato.com
O que é ASP.NET?
• Framework web
• Free
•...
Globalcode – open4educationVinicius Quaiato @vquaiato http://viniciusquaiato.com
O que é ASP.NET?
• Conjunto de componente...
Globalcode – open4educationVinicius Quaiato @vquaiato http://viniciusquaiato.com
O que é ASP.NET?
Globalcode – open4educationVinicius Quaiato @vquaiato http://viniciusquaiato.com
O que é ASP.NET MVC?
• Parte do ASP.NET
•...
Globalcode – open4education0 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
O que é ASP.NET MVC?
• Framework que im...
Globalcode – open4education1 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
O que é ASP.NET MVC?
Globalcode – open4education2 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
WebForms é ruim?
• Depende!
• Uma plata...
Globalcode – open4education3 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
WebForms é ruim?
• Ciclo de vida muito ...
Globalcode – open4education4 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Globalcode – open4education5 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
ASP.NET Page life cycle
Globalcode – open4education6 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
WebForms é ruim?
• Há quem consiga trab...
Globalcode – open4education7 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Globalcode – open4education8 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Globalcode – open4education9 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Globalcode – open4education0 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
• Então...
Globalcode – open4education1 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Não precisa ser tão complicado!
Globalcode – open4education2 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
ASP.NET MVC é cool!
Globalcode – open4education3 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Por que usar ASP.NET MVC?
• Padrão de a...
Globalcode – open4education4 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Por que usar ASP.NET MVC?
• Permite o t...
Globalcode – open4education5 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Quando usar MVC?
• Sempre?!
Globalcode – open4education6 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Quando não usar MVC?
• Projetos simples...
Globalcode – open4education7 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Quando não usar MVC?
• Projetos simples...
Globalcode – open4education8 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Quando não usar MVC?
• A equipe não con...
Globalcode – open4education9 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Quando não usar MVC?
• A equipe não con...
Globalcode – open4education0 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Quando não usar MVC?
• Precisar de cont...
Globalcode – open4education1 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Quando não usar MVC?
• Precisar de cont...
Globalcode – open4education2 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Quando não usar MVC?
• Precisar trabalh...
Globalcode – open4education3 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Quando não usar MVC?
• Precisar trabalh...
Globalcode – open4education4 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Quando não usar MVC?
• Meu projeto já é...
Globalcode – open4education5 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Quando não usar MVC?
• Meu projeto já é...
Globalcode – open4education6 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Quando não usar MVC?
• Preciso de um fr...
Globalcode – open4education7 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Quando não usar MVC?
• Preciso de um fr...
Globalcode – open4education8 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Quando não usar MVC?
• Precisar de mais...
Globalcode – open4education9 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Quando não usar MVC?
• Precisar de mais...
Globalcode – open4education0 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Quando não usar MVC?
• Preciso fazer me...
Globalcode – open4education1 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Quando não usar MVC?
• Preciso fazer me...
Globalcode – open4education2 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Quando usar ASP.NET MVC?
• Então...
• ....
Globalcode – open4education3 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Qual usar?
• ASP.NET MVC 1?
• ASP.NET M...
Globalcode – open4education4 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
ASP.NET
mvc 3
Globalcode – open4education5 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
O que há de novo no MVC 3?
Globalcode – open4education6 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Razor
Globalcode – open4education7 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Razor
• View Engine
• Uma forma de cria...
Globalcode – open4education8 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Razor
• Objetivo é facilitar
• Chega de...
Globalcode – open4education9 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Demo
• Primeiro contato com Razor
Globalcode – open4education0 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Razor
• Podemos trabalhar com statement...
Globalcode – open4education1 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Demo
• Conhecendo a sintaxe do Razor
Globalcode – open4education2 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Razor
• A idéia é facilitar o uso com o...
Globalcode – open4education3 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Demo
• Escrevendo Helpers com Razor
• E...
Globalcode – open4education4 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Razor
• Facilidades na criação de templ...
Globalcode – open4education5 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Demo
• Layout Pages com Razor
Globalcode – open4education6 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Razor
• Possibilidade de executar códig...
Globalcode – open4education7 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Demo
• Mantendo DRY com _ViewStart.csht...
Globalcode – open4education8 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Dynamic ViewModel
• Facilidade no acess...
Globalcode – open4education9 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Dynamic ViewModel
Globalcode – open4education0 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Demo
• Usando Dynamic ViewModels
Globalcode – open4education1 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
WebHelpers
• Helpers criados para facil...
Globalcode – open4education2 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
WebHelpers
• A idéia é facilitar
• Reap...
Globalcode – open4education3 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Demo
• WebChart, WebMail e WebGrid help...
Globalcode – open4education4 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
ActionResult types
• Dois novos tipos d...
Globalcode – open4education5 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Demo
• Usando os novos ActionResult typ...
Globalcode – open4education6 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Global Filters
• Filtros definidos para...
Globalcode – open4education7 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Demo
• Utilizando Global Filters
Globalcode – open4education8 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
IDependencyResolver
• Uma forma simples...
Globalcode – open4education9 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Demo
• Simplificando com IDependencyRes...
Globalcode – open4education0 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
ASP.NET MVC 3 RC
• Suporte a controle d...
Globalcode – open4education1 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Sessionless controllers
• HTTP é statel...
Globalcode – open4education2 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Demo
• Trabalhando com sessionless cont...
Globalcode – open4education3 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Output cache
• Já existe no ASP.NET
• A...
Globalcode – open4education4 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Demo
• Usando output cache para child a...
Globalcode – open4education5 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
O que faltou?
• JavaScript/JQuery não o...
Globalcode – open4education6 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
• Muito obrigado!
Globalcode – open4education7 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Contact: me
• http://viniciusquaiato.co...
Globalcode – open4education8 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
Links
• http://asp.net/mvc
• http://asp...
Upcoming SlideShare
Loading in...5
×

Curso ASP.NET MVC 3 - Vinicius Quaiato

10,634

Published on

Slides do minicurso de ASP.NET MVC 3 ministrado por Vinicius Quaiato na GlobalCode.

O ninicurso mostra as novidades do ASP.NET MVC: Razor, WebHelpers, IDependencyResolver, dynamic ViewModel, Global Filters, Output cache, etc.

Published in: Technology
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
10,634
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
515
Comments
0
Likes
8
Embeds 0
No embeds

No notes for slide

Transcript of "Curso ASP.NET MVC 3 - Vinicius Quaiato"

  1. 1. Globalcode – open4educationVinicius Quaiato @vquaiato http://viniciusquaiato.com ASP.NET MVC 3 Mais poder no ASP.NET MVC
  2. 2. Globalcode – open4educationVinicius Quaiato @vquaiato http://viniciusquaiato.com About: Vinicius Quaiato • Arquitetura e desenvolvimento • Apaixonado pelo que faz • Apaixonado por MVC • .NET Architects • .NET Magazine • Vegetariano • Pai • Santista • Geek
  3. 3. Globalcode – open4educationVinicius Quaiato @vquaiato http://viniciusquaiato.com Contact: me • http://viniciusquaiato.com • vinicius.quaiato@gmail.com – msn e gtalk • @vquaiato
  4. 4. Globalcode – open4educationVinicius Quaiato @vquaiato http://viniciusquaiato.com Lambda3 • Parceria • http://lambda3.com.br
  5. 5. Globalcode – open4educationVinicius Quaiato @vquaiato http://viniciusquaiato.com Objetivos
  6. 6. Globalcode – open4educationVinicius Quaiato @vquaiato http://viniciusquaiato.com O que é ASP.NET? • Framework web • Free • Roda em cima do .NET • Utiliza-se C# ou VB.NET • Independe de Browser • Aplicações rodam no IIS
  7. 7. Globalcode – open4educationVinicius Quaiato @vquaiato http://viniciusquaiato.com O que é ASP.NET? • Conjunto de componentes • Possibilita escolha de componentes – Terceiros – Microsoft • Possui uma enorme comunidade • Milhares de aplicações • Não é o mesmo que WebForms!
  8. 8. Globalcode – open4educationVinicius Quaiato @vquaiato http://viniciusquaiato.com O que é ASP.NET?
  9. 9. Globalcode – open4educationVinicius Quaiato @vquaiato http://viniciusquaiato.com O que é ASP.NET MVC? • Parte do ASP.NET • Uma forma de programar ASP.NET • Um framework – Classes – Componentes – Templates de projeto
  10. 10. Globalcode – open4education0 Vinicius Quaiato @vquaiato http://viniciusquaiato.com O que é ASP.NET MVC? • Framework que implementa padrão MVC • MVC é um padrão arquitetural – Não é apenas uma tecnologia
  11. 11. Globalcode – open4education1 Vinicius Quaiato @vquaiato http://viniciusquaiato.com O que é ASP.NET MVC?
  12. 12. Globalcode – open4education2 Vinicius Quaiato @vquaiato http://viniciusquaiato.com WebForms é ruim? • Depende! • Uma plataforma madura • Possui cerca de 10 anos de mercado • Fornece uma vasta variedade de controles • Trabalha com o modelo de Forms comum aos desenvolvedores desktop
  13. 13. Globalcode – open4education3 Vinicius Quaiato @vquaiato http://viniciusquaiato.com WebForms é ruim? • Ciclo de vida muito complexo • Dificuldade em testar • Difícil separar lógica de domínio de lógica de interface • Difícil controlar a saída para o browser • Difícil trabalhar com Ajax • MS Ajax é muito ruim
  14. 14. Globalcode – open4education4 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
  15. 15. Globalcode – open4education5 Vinicius Quaiato @vquaiato http://viniciusquaiato.com ASP.NET Page life cycle
  16. 16. Globalcode – open4education6 Vinicius Quaiato @vquaiato http://viniciusquaiato.com WebForms é ruim? • Há quem consiga trabalhar bem com ele • Há quem consiga fazer bons projetos • Há quem esteja acostumado com ele
  17. 17. Globalcode – open4education7 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
  18. 18. Globalcode – open4education8 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
  19. 19. Globalcode – open4education9 Vinicius Quaiato @vquaiato http://viniciusquaiato.com
  20. 20. Globalcode – open4education0 Vinicius Quaiato @vquaiato http://viniciusquaiato.com • Então...
  21. 21. Globalcode – open4education1 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Não precisa ser tão complicado!
  22. 22. Globalcode – open4education2 Vinicius Quaiato @vquaiato http://viniciusquaiato.com ASP.NET MVC é cool!
  23. 23. Globalcode – open4education3 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Por que usar ASP.NET MVC? • Padrão de arquitetura • Framework possibilita SoC – Separação de conceitos/resposabilidades – Maior coesão – Maior clareza – Facilidade no desenvolvimento
  24. 24. Globalcode – open4education4 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Por que usar ASP.NET MVC? • Permite o trabalho com TDD – É tudo testável! • Você tem controle do HTML gerado • Lógica de negócios não se mistura com lógica de interface
  25. 25. Globalcode – open4education5 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Quando usar MVC? • Sempre?!
  26. 26. Globalcode – open4education6 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Quando não usar MVC? • Projetos simples não devem usar MVC
  27. 27. Globalcode – open4education7 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Quando não usar MVC? • Projetos simples não devem usar MVC Mentira!
  28. 28. Globalcode – open4education8 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Quando não usar MVC? • A equipe não conhece o ASP.NET MVC
  29. 29. Globalcode – open4education9 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Quando não usar MVC? • A equipe não conhece o ASP.NET MVC Mentira!
  30. 30. Globalcode – open4education0 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Quando não usar MVC? • Precisar de controles prontos
  31. 31. Globalcode – open4education1 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Quando não usar MVC? • Precisar de controles prontos Mentira!
  32. 32. Globalcode – open4education2 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Quando não usar MVC? • Precisar trabalhar com AJAX
  33. 33. Globalcode – open4education3 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Quando não usar MVC? • Precisar trabalhar com AJAX Mentira!
  34. 34. Globalcode – open4education4 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Quando não usar MVC? • Meu projeto já é WebForms
  35. 35. Globalcode – open4education5 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Quando não usar MVC? • Meu projeto já é WebForms Verdade!
  36. 36. Globalcode – open4education6 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Quando não usar MVC? • Preciso de um framework maduro
  37. 37. Globalcode – open4education7 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Quando não usar MVC? • Preciso de um framework maduro Mentira!
  38. 38. Globalcode – open4education8 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Quando não usar MVC? • Precisar de mais profissionais do mercado
  39. 39. Globalcode – open4education9 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Quando não usar MVC? • Precisar de mais profissionais do mercado Mentira!
  40. 40. Globalcode – open4education0 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Quando não usar MVC? • Preciso fazer meu projeto rápido
  41. 41. Globalcode – open4education1 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Quando não usar MVC? • Preciso fazer meu projeto rápido Mentira!
  42. 42. Globalcode – open4education2 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Quando usar ASP.NET MVC? • Então... • ...use ASP.NET MVC em todas as situações anteriores!
  43. 43. Globalcode – open4education3 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Qual usar? • ASP.NET MVC 1? • ASP.NET MVC 2? • ASP.NET MVC 3?
  44. 44. Globalcode – open4education4 Vinicius Quaiato @vquaiato http://viniciusquaiato.com ASP.NET mvc 3
  45. 45. Globalcode – open4education5 Vinicius Quaiato @vquaiato http://viniciusquaiato.com O que há de novo no MVC 3?
  46. 46. Globalcode – open4education6 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Razor
  47. 47. Globalcode – open4education7 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Razor • View Engine • Uma forma de criar as Views • Não é uma nova linguagem – Usa-se C# ou VB • Criado para facilitar o trabalho com as views • Transição de HTML para server side quase transparente • Ele é muito inteligente
  48. 48. Globalcode – open4education8 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Razor • Objetivo é facilitar • Chega de <% %> • Agora é simplesmente @ • Conhece HTML e conhece C#/VB • Agora no Release Candidate há colorização e intellisense
  49. 49. Globalcode – open4education9 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Demo • Primeiro contato com Razor
  50. 50. Globalcode – open4education0 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Razor • Podemos trabalhar com statements – Condicionais – Declarações de variáveis – Multi line statements – Mesclar HTML + server code • Sim, o Razor é inteligente demais!
  51. 51. Globalcode – open4education1 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Demo • Conhecendo a sintaxe do Razor
  52. 52. Globalcode – open4education2 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Razor • A idéia é facilitar o uso com o Razor: – Helpers – Functions • Helpers no geral são código server side que produz código HTML • Functions são métodos não não possuem output HTML
  53. 53. Globalcode – open4education3 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Demo • Escrevendo Helpers com Razor • Escrevendo functions com Razor
  54. 54. Globalcode – open4education4 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Razor • Facilidades na criação de templates • Não é necessário trabalhar com MasterPages • Criam-se páginas de layout e sections – As sections são customizadas
  55. 55. Globalcode – open4education5 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Demo • Layout Pages com Razor
  56. 56. Globalcode – open4education6 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Razor • Possibilidade de executar código da View antes de carregar • Ajuda a manter algumas coisas em um único ponto • Mantém o DRY
  57. 57. Globalcode – open4education7 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Demo • Mantendo DRY com _ViewStart.cshtml
  58. 58. Globalcode – open4education8 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Dynamic ViewModel • Facilidade no acesso e manipulação do ViewData • Utiliza recursos de programação dinâmica do .NET 4 • Funciona tanto do lado do controller quanto da view • Mantém o código mais legível
  59. 59. Globalcode – open4education9 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Dynamic ViewModel
  60. 60. Globalcode – open4education0 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Demo • Usando Dynamic ViewModels
  61. 61. Globalcode – open4education1 Vinicius Quaiato @vquaiato http://viniciusquaiato.com WebHelpers • Helpers criados para facilitar algumas ativiades: – Envio de emails – Criação e exibição de charts – Criação e manipulação de dados tabulares (grid) – Anti forgery – Criptografia – Json – E outros.
  62. 62. Globalcode – open4education2 Vinicius Quaiato @vquaiato http://viniciusquaiato.com WebHelpers • A idéia é facilitar • Reaproveitar o trabalho • Se preocupar mais com o negócio do que com a tecnologia • Utilizar o poder do framework
  63. 63. Globalcode – open4education3 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Demo • WebChart, WebMail e WebGrid helpers
  64. 64. Globalcode – open4education4 Vinicius Quaiato @vquaiato http://viniciusquaiato.com ActionResult types • Dois novos tipos de ActionResult • Retornam status code apropriados • HttpNotFound • HttpStatusCode • Informações importantes para search engines
  65. 65. Globalcode – open4education5 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Demo • Usando os novos ActionResult types
  66. 66. Globalcode – open4education6 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Global Filters • Filtros definidos para controllers • Aplica-se de forma global a todos os controllers • Conseguem fazer a interceptação das actions • Conseguem executar atividades em momentos chave • Mantém o DRY
  67. 67. Globalcode – open4education7 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Demo • Utilizando Global Filters
  68. 68. Globalcode – open4education8 Vinicius Quaiato @vquaiato http://viniciusquaiato.com IDependencyResolver • Uma forma simples de resolver dependências • Tudo via configuração • TDD fica mais simples • Responsabilidades ficam separadas • Só é necessário informar quem sabe resolver as coisas
  69. 69. Globalcode – open4education9 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Demo • Simplificando com IDependencyResolver
  70. 70. Globalcode – open4education0 Vinicius Quaiato @vquaiato http://viniciusquaiato.com ASP.NET MVC 3 RC • Suporte a controle de session state dos controllers • Output cache para child actions • Colorização e intellisense do Razor • Novos atributos de validação – Compare – Remote
  71. 71. Globalcode – open4education1 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Sessionless controllers • HTTP é stateless, não mantém estado • Ajuda evitar uso descabível se sessions • Sessões não são para passar parâmetros • Sessões não são “banco de dados” • Session não é thread safe – Múltiplos requests do mesmo user criarão uma fila – Sessionless permite processar em paralelo
  72. 72. Globalcode – open4education2 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Demo • Trabalhando com sessionless controllers
  73. 73. Globalcode – open4education3 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Output cache • Já existe no ASP.NET • A novidade é output cache para child actions • Faz cache da action e não de toda uma view • Granular – Pode variar por parâmetros – Facilmente configurável com atributtes
  74. 74. Globalcode – open4education4 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Demo • Usando output cache para child actions
  75. 75. Globalcode – open4education5 Vinicius Quaiato @vquaiato http://viniciusquaiato.com O que faltou? • JavaScript/JQuery não obstrusivo • Atributos de validação • Request Validations • IViewActivator e IControllerActivator
  76. 76. Globalcode – open4education6 Vinicius Quaiato @vquaiato http://viniciusquaiato.com • Muito obrigado!
  77. 77. Globalcode – open4education7 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Contact: me • http://viniciusquaiato.com • vinicius.quaiato@gmail.com – msn e gtalk • @vquaiato
  78. 78. Globalcode – open4education8 Vinicius Quaiato @vquaiato http://viniciusquaiato.com Links • 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/
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×