SlideShare uma empresa Scribd logo
Moacir Casemiro
Gestão e Arquitetura de Software
MCP,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, 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
# N ossa A genda
1 - Padrões de Projetos
2 - MVC
3 - 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 ?
                        O que é Padrão ?
# 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"
# A lgumas definições
# A lgumas definições
“Cada padrão descreve um problema que ocorre
freqüentemente em seu ambiente, e então descreve
o cerne da solução para aquele problema, de um
modo tal que
você pode usar esta solução milhões de vezes, sem
nunca fazer a mesma coisa repetida”.

Christopher Alexander
(Arquiteto e Urbanista)
# Caract eríst icas
principais 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    John Vlissides
# O rganização dos
  Padrões GO F
# I nt erações dos Padrões
# MVC
Palestra ASP.NET MVC
# 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
# 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.
# I nt rodução
             ao M VC
      Framework
# I nt rodução         ao M VC
                Framework

 Visualização      Controle       Modelo

Pagina HTML
                                  Negócio

 Pagina ASP        Controlador

                                 Persistência
  Outros
  Clientes
# ASP.NET MVC
# 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.
A SP.N ET M VC
• ASP.NET MVC
# A SP.N ET M VC
Framework é 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 no
controle das chamadas das Views (realizadas pelos browsers) e alterações
do comportamento do Model
# 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.
# 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();
        }
  }
# 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
# 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
   MVC
O HomeController é um controlador, ele é responsável pela chamada das
páginas Index e About que estão dentro da pasta Home. A url do seu projeto, por
padrão é: http://MeuServer/home/index. Quando essa url é chamada pelo
browser, o servidor vai processar o método Index que retorna o arquivo
Views/Home/Index.aspx. Os métodos do controlador ainda podem passar dados
do Modelo para as Views para serem manipulados na camada de apresentação.
# A SP.N ET M VC
• PASSOS PARA UTILIZAR ASP.NET
  MVC
Para cada método no controlador ele vai retornar uma View com o nome
correspondente(HomeController è pasta /Home, Método Índex è Arquivo
Index.aspx
# 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 modelo
tradicional, 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 e
enviado ao usuário que a requisitou.

• Quando uma requisição chega a uma aplicação ASP.NET, o runtime primeirament
executará 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.
# Rout eament o
protected void Application_Start(object sender,
EventArgs e)
        {
            RegisterRoutes(RouteTable.Routes);
        }

        public static void
RegisterRoutes(RouteCollection routes)
        {
            routes.Add(new Route
            (
                 "Category/{action}/{categoryName}"
                 , new CategoryRouteHandler()
            ));
        }
# Ent endendo o Ciclo de
  Vida de uma aplicação
• Web Forms
                       Initialization

                      LoadViewState

                    LoadPostbackData

                           Load
           HTTP
          Handler
                    RaisePostBackEvent

                      SaveViewState

                        PreRender

                          Render
# 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 determinado
Controller. 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.
# 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
# Comparando                               Web Forms
e 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.
# 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.
# 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.
# 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.
# 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 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

Mais conteúdo relacionado

PPTX
ASP .NET MVC na Prática - C. Augusto Proiete
PDF
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
PPTX
ASP.NET Web Forms X ASP.NET MVC
PPTX
Desenvolviemento web com ASP.Net e MVC
PPTX
ASP.NET MVC 5.x
PPT
Curso ASP.NET MVC 3 - Vinicius Quaiato
PPTX
Treinamento Básico Sobre ASP.NET MVC
PDF
Apostila MVC
ASP .NET MVC na Prática - C. Augusto Proiete
Aprendendo Na Prática: Aplicativos Web Com Asp.Net MVC em C# e Entity Framewo...
ASP.NET Web Forms X ASP.NET MVC
Desenvolviemento web com ASP.Net e MVC
ASP.NET MVC 5.x
Curso ASP.NET MVC 3 - Vinicius Quaiato
Treinamento Básico Sobre ASP.NET MVC
Apostila MVC

Mais procurados (20)

PPTX
Migrando para o Angular 2
PDF
React Native na globo.com
PPTX
O Futuro do ASP.NET
PDF
Desenvolvimento Front end (AngularJS e Bootstrap)
PPTX
ASP .NET MVC - Você esta pronto para a pílula vermelha?
PPT
Desvendando ASP.NET MVC
PPTX
Angular 2, TypeScript e Além
PDF
React + Flux (Alt)
PPTX
Criar um sistema com asp net
PPTX
Futuro do ASP.NET vNext - MVP ShowCast
PPSX
Comunicação em Tempo Real com ASP.Net SignalR
PPTX
Campus Party 2014 - Desenvolvimento Web com ASP.NET
PDF
React - Introdução
PPTX
Campus Party - Desenvolvendo com ASP.NET MVC e jQuery
PPTX
Vuejs Angularjs e Reactjs. Veja as diferenças de cada framework!
ODP
Começando com Vue.js
PPTX
Apresentação angular js
PPTX
ASP .NET MVC na Prática
PDF
Sistema S2DG e Tecnologias Web
PDF
TDC 2014 - Arquitetura front-end com AngularJS
Migrando para o Angular 2
React Native na globo.com
O Futuro do ASP.NET
Desenvolvimento Front end (AngularJS e Bootstrap)
ASP .NET MVC - Você esta pronto para a pílula vermelha?
Desvendando ASP.NET MVC
Angular 2, TypeScript e Além
React + Flux (Alt)
Criar um sistema com asp net
Futuro do ASP.NET vNext - MVP ShowCast
Comunicação em Tempo Real com ASP.Net SignalR
Campus Party 2014 - Desenvolvimento Web com ASP.NET
React - Introdução
Campus Party - Desenvolvendo com ASP.NET MVC e jQuery
Vuejs Angularjs e Reactjs. Veja as diferenças de cada framework!
Começando com Vue.js
Apresentação angular js
ASP .NET MVC na Prática
Sistema S2DG e Tecnologias Web
TDC 2014 - Arquitetura front-end com AngularJS
Anúncio

Semelhante a Palestra ASP.NET MVC (20)

PDF
Aula 1 ASP.NET Core com arquitetura MVC
PDF
ASP.NET MVC - Alexandre Tarifa
PDF
ASP.NET MVC
PPTX
Introdução ao Asp.Net Mvc
PDF
ApresentaçãO Mvc
PDF
Apresentação M V C
PPTX
Asp.Net Mvc
PDF
Asp.Net Mvc Dev Days09 V3 Pt
PPTX
PPT
ASP.NET MVC para desenvolvedores Web Forms (TechEd)
PPTX
Desenvolvimento web com .NET Core - Meetup São Carlos
PPTX
Palestra MVC - Online tech day 2010
PDF
Aula ASP.NET.pdf whatsap Whatsap pdf.com
PPTX
Introdução ao Asp.NET MVC
PPTX
ASP.NET MVC
PPT
Desvendando ASP.NET MVC
PPTX
Desenvolvimento Web com ASP.NET 4
PPTX
Comtec2010 asp.net mvc
PPTX
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
PPT
ASP.Net MVC no VS 2010
Aula 1 ASP.NET Core com arquitetura MVC
ASP.NET MVC - Alexandre Tarifa
ASP.NET MVC
Introdução ao Asp.Net Mvc
ApresentaçãO Mvc
Apresentação M V C
Asp.Net Mvc
Asp.Net Mvc Dev Days09 V3 Pt
ASP.NET MVC para desenvolvedores Web Forms (TechEd)
Desenvolvimento web com .NET Core - Meetup São Carlos
Palestra MVC - Online tech day 2010
Aula ASP.NET.pdf whatsap Whatsap pdf.com
Introdução ao Asp.NET MVC
ASP.NET MVC
Desvendando ASP.NET MVC
Desenvolvimento Web com ASP.NET 4
Comtec2010 asp.net mvc
ASM.NET MVC 5 + Entity Framework - Explorando conceitos e criando um projeto ...
ASP.Net MVC no VS 2010
Anúncio

Último (20)

PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PPTX
Curso de Java 15 - (Uso de Servlets (Entendendo a Estrutura)).pptx
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
Curso de Java 13 - (JavaEE (JSP e Servlets)).pptx
PDF
Apple Pippin Uma breve introdução. - David Glotz
PPTX
Curso de Java 17 - (JEE (Sessões e Cookies)).pptx
PPTX
Curso de Java 9 - (Threads) Multitarefas.pptx
PPTX
Curso de Java 14 - (Explicações Adicionais (Classes Abstrata e Interface)).pptx
PPTX
Curso de Java 16 - (JEE (Utilizando o Padrão MVC)).pptx
PPTX
Curso de Java 11 - (Serializable (Serialização de Objetos)).pptx
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Aula sobre desenvolvimento de aplicativos
PPTX
Aula sobre banco de dados com firebase db
PPTX
Aula 18 - Manipulacao De Arquivos python
PPTX
Curso de Java 10 - (IO Manipulação de Arquivos).pptx
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Custos e liquidação no SAP Transportation Management, TM130 Col18
Curso de Java 15 - (Uso de Servlets (Entendendo a Estrutura)).pptx
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Curso de Java 13 - (JavaEE (JSP e Servlets)).pptx
Apple Pippin Uma breve introdução. - David Glotz
Curso de Java 17 - (JEE (Sessões e Cookies)).pptx
Curso de Java 9 - (Threads) Multitarefas.pptx
Curso de Java 14 - (Explicações Adicionais (Classes Abstrata e Interface)).pptx
Curso de Java 16 - (JEE (Utilizando o Padrão MVC)).pptx
Curso de Java 11 - (Serializable (Serialização de Objetos)).pptx
Processos na gestão de transportes, TM100 Col18
Aula sobre desenvolvimento de aplicativos
Aula sobre banco de dados com firebase db
Aula 18 - Manipulacao De Arquivos python
Curso de Java 10 - (IO Manipulação de Arquivos).pptx
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...

Palestra ASP.NET MVC

  • 1. Moacir Casemiro Gestão e Arquitetura de Software MCP,MCAD,MCTS e MCPD www.moacircasemiro.com
  • 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. # N ossa A genda 1 - Padrões de Projetos 2 - MVC 3 - ASP.NET MVC
  • 4. # Padrões de Projeto
  • 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. # 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. # A lgumas definições
  • 8. # A lgumas definições “Cada padrão descreve um problema que ocorre freqüentemente em seu ambiente, e então descreve o cerne da solução para aquele problema, de um modo tal que você pode usar esta solução milhões de vezes, sem nunca fazer a mesma coisa repetida”. Christopher Alexander (Arquiteto e Urbanista)
  • 9. # Caract eríst icas principais sobre Padrões • São Conceitos (não tecnologias); • Resolvem problemas específicos.
  • 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. # O rganização dos Padrões GO F
  • 12. # I nt erações dos Padrões
  • 13. # MVC
  • 15. # 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
  • 16. # 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.
  • 17. # I nt rodução ao M VC Framework
  • 18. # I nt rodução ao M VC Framework Visualização Controle Modelo Pagina HTML Negócio Pagina ASP Controlador Persistência Outros Clientes
  • 20. # 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.
  • 21. A SP.N ET M VC • ASP.NET MVC
  • 22. # A SP.N ET M VC Framework é 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 no controle das chamadas das Views (realizadas pelos browsers) e alterações do comportamento do Model
  • 23. # 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.
  • 24. # 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(); } }
  • 25. # 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
  • 26. # A SP.N ET M VC • PASSOS PARA UTILIZAR ASP.NET MVC
  • 27. # A SP.N ET M VC • PASSOS PARA UTILIZAR ASP.NET MVC
  • 28. # A SP.N ET M VC • PASSOS PARA UTILIZAR ASP.NET MVC
  • 29. # A SP.N ET M VC • PASSOS PARA UTILIZAR ASP.NET MVC O HomeController é um controlador, ele é responsável pela chamada das páginas Index e About que estão dentro da pasta Home. A url do seu projeto, por padrão é: http://MeuServer/home/index. Quando essa url é chamada pelo browser, o servidor vai processar o método Index que retorna o arquivo Views/Home/Index.aspx. Os métodos do controlador ainda podem passar dados do Modelo para as Views para serem manipulados na camada de apresentação.
  • 30. # A SP.N ET M VC • PASSOS PARA UTILIZAR ASP.NET MVC Para cada método no controlador ele vai retornar uma View com o nome correspondente(HomeController è pasta /Home, Método Índex è Arquivo Index.aspx
  • 31. # 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 modelo tradicional, 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 e enviado ao usuário que a requisitou. • Quando uma requisição chega a uma aplicação ASP.NET, o runtime primeirament executará 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.
  • 32. # Rout eament o protected void Application_Start(object sender, EventArgs e) { RegisterRoutes(RouteTable.Routes); } public static void RegisterRoutes(RouteCollection routes) { routes.Add(new Route ( "Category/{action}/{categoryName}" , new CategoryRouteHandler() )); }
  • 33. # Ent endendo o Ciclo de Vida de uma aplicação • Web Forms Initialization LoadViewState LoadPostbackData Load HTTP Handler RaisePostBackEvent SaveViewState PreRender Render
  • 34. # 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 determinado Controller. 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.
  • 35. # 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
  • 36. # Comparando Web Forms e 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.
  • 37. # 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.
  • 38. # 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.
  • 39. # 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.
  • 40. # Ex emplos Reais
  • 41. Demo
  • 42. O brigado !! • @moacircasemiro • moacircasemiro@hotmail.com • www.moacircasemiro.com
  • 43. 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