Model




Controller           View
Abstractions

− System.Web (3.0)
− System.Web.Extensions (3.5)
                                  Routing




                                   MVC
http://www.asp.net/mvc
http://codeplex.com/aspnet
UrlRoutingMode

MVC Handler
Antes
        ou




Agora




                     18
Devo usar Web
Forms ou MVC??
− Sua aplicação já está concluída (ou com boa
  parte pronta) com Web Forms. Não faça
  uma aplicação meio MVC, meio Web Forms.
− Tiver pouco tempo de desenvolvimento e a
  equipe não conhecer o padrão MVC, o
  framework ASP.Net MVC, ou os dois.
− Você gostar muito do modelo
  proporcionado pelo Web Forms de ilusão
  de manutenção de estado proporcionado
  pelo Viewstate.
− Suas necessidades de AJAX ou manipulação
  de Javascript forem muito altas, ou você
  odeia programar Javascript.
− Você é fã de carteirinha de alguns controles
  complexos, como o gridview, os de
  membership, ou ainda, você gosta muito de
  databinding;
− Você precisar utilizar programação de
  webparts para o Sharepoint.
− Precisar mais controle sobre o HTML
  gerado
− Quiser ter uma aplicação focada em
  padrões mais reconhecidos, inclusive no
  front-end.
− Quiser trabalhar com testes unitários
  também na interface com o usuário.
− Precisar de uma aplicação mais modular,
  inclusive no front-end.
− Quiser ter mais liberadade para extender
  alguns pedaços do framework. Com
  ASP.Net MVC você pode substituir os
  controllers, o engine de View, a maneira de
  procurar Views, o framework de testes, etc.
− Quiser utilizar XSLT, XML, texto puro, ou sei
  lá o que mais para renderizar as páginas
  web.
− Tiver a intenção de gerar uma página
  menor em bytes
- Nós precisamos de um controle Repeater!
- Nós já o temos, se chama: laço de foreach.



                Conversa entre desenvolvedores da
               Microsoft, segundo relatado por Scott
                        Hanselman, do time do MVC.
?
System.Web.Mvc.GridView
<location path="Contas/ContaCorrente.aspx">
 <system.web>
  <authorization>
    <allow roles="Gerentes" />
    <deny users="*" />
  </authorization>
 </system.web>
</location>
http://haacked.com

http://weblogs.asp.net/scottgu/
http://weblogs.asp.net/scottguportuguese

http://social.msdn.microsoft.com/Forums/pt-
BR/mvcpt/threads


                                              4
                                              2
ASP.NET WebForms x ASP.NET MVC

ASP.NET WebForms x ASP.NET MVC