Moacir CasemiroGestão e Arquitetura de SoftwareMCP,MCAD,MCTS e MCPD                                   www.moacircasemiro.com
# Q uem              sou eu !Moacir Casemiro•   Arquitetura e Gestão na prática•   Experiência de 10 anos em Web•   MCP, M...
# N ossa A genda1 - Padrões de Projetos2 - MVC3 - ASP.NET MVC
# Padrões   de Projeto
O que é Padrão ? O que é Padrão ?O que é Padrão ?                    O que é Padrão ?                      O que é Padrão ...
# A lgumas definições• “Documento aprovado por um organismo  reconhecido que provê, pelo uso comum e  repetitivo, regras, ...
# A lgumas definições
# A lgumas definições“Cada padrão descreve um problema que ocorrefreqüentemente em seu ambiente, e então descreveo cerne d...
# Caract eríst icasprincipais sobre Padrões• São Conceitos (não tecnologias);• Resolvem problemas específicos.
# Padrões de Projet o• Gang-of-Four(Gangue-dos-Quatro)  o    Erich Gamma,  o    Richard Helm,  o    Ralph Johnson e  o    ...
# O rganização dos  Padrões GO F
# I nt erações dos Padrões
# MVC
# O que é M VC ?• MVC (Model-View-Controller)  o   Padrão de Arquitetura  o   É um conceito  o   Fácil manutenção  o   Obj...
# I nt rodução      ao M VC               Framework• Model-view-controller (MVC) é um padrão de  arquitetura de software q...
# I nt rodução             ao M VC      Framework
# I nt rodução         ao M VC                Framework Visualização      Controle       ModeloPagina HTML                ...
# ASP.NET MVC
# A nt es     de t udo, o que              é A SP.N ET ?•   é a plataforma da Microsoft para o    desenvolvimento de aplic...
A SP.N ET M VC• ASP.NET MVC
# A SP.N ET M VCFramework é baseado na arquitetura de software MVC.O objetivo é manter uma clara separação de conceitos:in...
# M VC - M odel             Model• Objetos que mantêm o estado  do aplicativo  Interage com o (banco de  dados) do reposit...
# M VC –                   Cont roller                    Controlle                                                       ...
# M VC – View                         View<%@ Page Title=“Category" Language="C#"MasterPageFile="~/Views/Shared/Site.Maste...
# A SP.N ET M VC• PASSOS PARA UTILIZAR ASP.NET  MVC
# A SP.N ET M VC• PASSOS PARA UTILIZAR ASP.NET  MVC
# A SP.N ET M VC• PASSOS PARA UTILIZAR ASP.NET  MVC
# A SP.N ET M VC• PASSOS PARA UTILIZAR ASP.NET   MVCO HomeController é um controlador, ele é responsável pela chamada dasp...
# A SP.N ET M VC• PASSOS PARA UTILIZAR ASP.NET  MVCPara cada método no controlador ele vai retornar uma View com o nomecor...
# Ent endendo o Ciclo de   Vida de uma aplicação• Web Forms• Quando uma requisição chega para uma aplicação ASP.NET basead...
# Rout eament oprotected void Application_Start(object sender,EventArgs e)        {            RegisterRoutes(RouteTable.R...
# Ent endendo o Ciclo de  Vida de uma aplicação• Web Forms                       Initialization                      LoadV...
# Ent endendo  o Ciclo de   Vida de uma aplicação• ASP.NET MVC• Na requisição para uma página, você requisitará uma ação.E...
# Ent endendo o Ciclo de  Vida de uma aplicação• ASP.NET MVC Browser          URL Routing         Controller             M...
# Comparando                               Web Formse M VC• Web Forms• Beneficios :   o Recurso como clica e arrasta semel...
# Comparando Web          Forms e A SP.N ET• Web Forms•   Pontos Fraco :    o Não tem um controle sobre o HTML gerado, poi...
# Comparando Web         Forms e A SP.N ET• ASP.NET MVC• Beneficios :   o Não há nenhuma dependência em arquivos de servid...
# Comparando Web        Forms e A SP.N ET• ASP.NET MVC• Pontos Fracos :  o Desenvolvedor precisa ter conhecimento em HTML ...
# Ex emplos Reais
Demo
O brigado !!• @moacircasemiro• moacircasemiro@hotmail.com• www.moacircasemiro.com
Referencias• SP.NET Model-View-Controller Applications  http://quickstarts.asp.net/previews/mvc/default.ht  m• ASP.Net Rou...
Palestra ASP.NET MVC
Próximos SlideShares
Carregando em…5
×

Palestra ASP.NET MVC

1.920 visualizações

Publicada em

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.920
No SlideShare
0
A partir de incorporações
0
Número de incorporações
48
Ações
Compartilhamentos
0
Downloads
34
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Palestra ASP.NET MVC

  1. 1. Moacir CasemiroGestão e Arquitetura de SoftwareMCP,MCAD,MCTS e MCPD www.moacircasemiro.com
  2. 2. # Q uem sou eu !Moacir Casemiro• Arquitetura e Gestão na prática• Experiência de 10 anos em Web• MCP, MCAD, MCTS e MCPD Enterprise Aplicação• Participei de projetos de vários níveis e tamanho• Palestrante desde 2006• Instrutor desde 2006• Contatos : @moacircasemiro• Email : moacircasemiro@hotmail.com• www.moacircasemiro.com
  3. 3. # N ossa A genda1 - Padrões de Projetos2 - MVC3 - ASP.NET MVC
  4. 4. # Padrões de Projeto
  5. 5. O que é Padrão ? O que é Padrão ?O que é Padrão ? O que é Padrão ? O que é Padrão ? O que é Padrão ?
  6. 6. # A lgumas definições• “Documento aprovado por um organismo reconhecido que provê, pelo uso comum e repetitivo, regras, diretrizes ou características de produtos, processos ou serviços cuja obediência não é obrigatória"
  7. 7. # A lgumas definições
  8. 8. # A lgumas definições“Cada padrão descreve um problema que ocorrefreqüentemente em seu ambiente, e então descreveo cerne da solução para aquele problema, de ummodo tal quevocê pode usar esta solução milhões de vezes, semnunca fazer a mesma coisa repetida”.Christopher Alexander(Arquiteto e Urbanista)
  9. 9. # Caract eríst icasprincipais sobre Padrões• São Conceitos (não tecnologias);• Resolvem problemas específicos.
  10. 10. # Padrões de Projet o• Gang-of-Four(Gangue-dos-Quatro) o Erich Gamma, o Richard Helm, o Ralph Johnson e o John Vlissides
  11. 11. # O rganização dos Padrões GO F
  12. 12. # I nt erações dos Padrões
  13. 13. # MVC
  14. 14. # O que é M VC ?• MVC (Model-View-Controller) o Padrão de Arquitetura o É um conceito o Fácil manutenção o Objetivos o Frameworks
  15. 15. # I nt rodução ao M VC Framework• Model-view-controller (MVC) é um padrão de arquitetura de software que visa a separar a lógica de negócio da lógica de apresentação, permitindo o desenvolvimento, teste e manutenção isolado de ambos.
  16. 16. # I nt rodução ao M VC Framework
  17. 17. # I nt rodução ao M VC Framework Visualização Controle ModeloPagina HTML Negócio Pagina ASP Controlador Persistência Outros Clientes
  18. 18. # ASP.NET MVC
  19. 19. # A nt es de t udo, o que é A SP.N ET ?• é a plataforma da Microsoft para o desenvolvimento de aplicações Web é o sucessor da tecnologia ASP. É um componente do IIS que permite através de uma linguagem de programação integrada na .NET Framework criar páginas dinâmicas.
  20. 20. A SP.N ET M VC• ASP.NET MVC
  21. 21. # A SP.N ET M VCFramework é baseado na arquitetura de software MVC.O objetivo é manter uma clara separação de conceitos:interface, modelo de dados e controle de chamadas das páginas.Uma aplicação em ASP.NET MVC é estruturada da seguinte maneira:• Model: Contém códigos de validação, regras de negócio e acesso a dados.• View: Camada de apresentação (layout).• Controllers: Controla o fluxo da aplicação. Em outras palavras, consiste nocontrole das chamadas das Views (realizadas pelos browsers) e alteraçõesdo comportamento do Model
  22. 22. # M VC - M odel Model• Objetos que mantêm o estado do aplicativo Interage com o (banco de dados) do repositório Controlador de cria-los em ações e passa para as Views Exibir dados de acessos no Objeto Exemplos: DataSet, DataReader, LINQ to SQL, etc.
  23. 23. # M VC – Cont roller Controlle r[HandleError] public class HomeController : Controller { public ActionResult Index() { ViewData["Title"] = "Home Page"; ViewData["Message"] = "Welcome to ASP.NET MVC!"; return View(); } }
  24. 24. # M VC – View View<%@ Page Title=“Category" Language="C#"MasterPageFile="~/Views/Shared/Site.Master"AutoEventWireup="true"CodeBehind="Category.aspx.cs"Inherits="NorthwindMVC.Views.Products.Category"%>• Views (property Model) can be “strongly typed”public partial class Category :ViewPage<NorthwindMVC.Models.Category> • In RC1 “code behind” for Views has been eliminated – to facilitate IntelliSence
  25. 25. # A SP.N ET M VC• PASSOS PARA UTILIZAR ASP.NET MVC
  26. 26. # A SP.N ET M VC• PASSOS PARA UTILIZAR ASP.NET MVC
  27. 27. # A SP.N ET M VC• PASSOS PARA UTILIZAR ASP.NET MVC
  28. 28. # A SP.N ET M VC• PASSOS PARA UTILIZAR ASP.NET MVCO HomeController é um controlador, ele é responsável pela chamada daspáginas Index e About que estão dentro da pasta Home. A url do seu projeto, porpadrão é: http://MeuServer/home/index. Quando essa url é chamada pelobrowser, o servidor vai processar o método Index que retorna o arquivoViews/Home/Index.aspx. Os métodos do controlador ainda podem passar dadosdo Modelo para as Views para serem manipulados na camada de apresentação.
  29. 29. # A SP.N ET M VC• PASSOS PARA UTILIZAR ASP.NET MVCPara cada método no controlador ele vai retornar uma View com o nomecorrespondente(HomeController è pasta /Home, Método Índex è ArquivoIndex.aspx
  30. 30. # Ent endendo o Ciclo de Vida de uma aplicação• Web Forms• Quando uma requisição chega para uma aplicação ASP.NET baseada no modelotradicional, a página requisitada é mapeada para uma página (*.aspx).Esta página contém código HTML que representa a visualização da mesma e que será processada pelo ASP.NET e, em seguida, gerado um output eenviado ao usuário que a requisitou.• Quando uma requisição chega a uma aplicação ASP.NET, o runtime primeiramentexecutará vários passos até que a página ASPX seja efetivamente executada. Com os objetos devidamente criados, em algum momento, o ASP.NET determina qual seráo handler responsável por executar a página; assim que este handler é determinado,o método ProcessRequest da página é executado e o ciclo de vida da mesma inicia,executando os métodos que criam os controles na página (baseando-se no HTML),os eventos da própria página, como Init, Load, etc., e eventos de controles.
  31. 31. # Rout eament oprotected void Application_Start(object sender,EventArgs e) { RegisterRoutes(RouteTable.Routes); } public static voidRegisterRoutes(RouteCollection routes) { routes.Add(new Route ( "Category/{action}/{categoryName}" , new CategoryRouteHandler() )); }
  32. 32. # Ent endendo o Ciclo de Vida de uma aplicação• Web Forms Initialization LoadViewState LoadPostbackData Load HTTP Handler RaisePostBackEvent SaveViewState PreRender Render
  33. 33. # Ent endendo o Ciclo de Vida de uma aplicação• ASP.NET MVC• Na requisição para uma página, você requisitará uma ação.Esta ação nada mais é do que um método que estará dentro de um determinadoController. O Controller é responsável por capturar as informações fornecidas pelo protocolo HTTP ou pelo usuário, manipular essas informações, acessar o Model e,finalmente, renderizar o conteúdo, através de uma View, para o usuário.
  34. 34. # Ent endendo o Ciclo de Vida de uma aplicação• ASP.NET MVC Browser URL Routing Controller Model View new POST Invoke Invoke action method Lookup view Render (viewData) HTML
  35. 35. # Comparando Web Formse M VC• Web Forms• Beneficios : o Recurso como clica e arrasta semelhante ao desenvolvimento de aplicações Desktop. o Utilização de Viewstate e postbacks o Desenvolvedor não precisa ter conhecimento em HTML e JavaScript. o Manipulação de eventos clássicos, como Init, Load, PreRender, além de eventos de controle específicos, como OnClick para um controle Button.
  36. 36. # Comparando Web Forms e A SP.N ET• Web Forms• Pontos Fraco : o Não tem um controle sobre o HTML gerado, pois boa parte do código gerado é fornecido pelos controles colocados no Web Forms; o Através dos Web forms não é possivel testes unitários na interface com o usuário; o O estado da pagina fica mantido em um campo oculto (viewstate) ; o A abstração do HTML impede acessibilidade, compatibilidade de navegador e integração com estruturas de JavaScript populares como jQuery, Dojo e PrototypeJS.
  37. 37. # Comparando Web Forms e A SP.N ET• ASP.NET MVC• Beneficios : o Não há nenhuma dependência em arquivos de servidor físico ASPX; o Modular, o ASP.Net MVC é muito bem dividido em módulos e partes; o O controlador escolhe qual modo para exibir com base na URL solicitada e dados pertinentes. Cada solicitação é resolvida invocando um método em uma classe de controlador; o Não utiliza ViewState para manter os dados da página; o Não possui controles de servidor para produzir o HTML ; o O padrão MVC é a base ASP.Net MVC.
  38. 38. # Comparando Web Forms e A SP.N ET• ASP.NET MVC• Pontos Fracos : o Desenvolvedor precisa ter conhecimento em HTML e JavaScript; o Não possui controles com databinding (exemplos: GridView, DataList…); o Pouca produtividade em comparação para aplicações Web Forms no inicio do projeto.
  39. 39. # Ex emplos Reais
  40. 40. Demo
  41. 41. O brigado !!• @moacircasemiro• moacircasemiro@hotmail.com• www.moacircasemiro.com
  42. 42. Referencias• SP.NET Model-View-Controller Applications http://quickstarts.asp.net/previews/mvc/default.ht m• ASP.Net Routing http://msdn.microsoft.com/en- us/library/cc668201.aspx• MVC Tutorials http://www.asp.net/learn/mvc/• Building Web Apps without Web Forms http://msdn.microsoft.com/en- us/magazine/cc337884.aspx

×