ASP.NET MVC - Como explicar isso?

votos
8

Eu estou tentando ensinar ASP.NET MVC para estudantes (graduandos) que foram estudar ASP.NET para as últimas 8 semanas (eu sei que não parecer muito tempo, mas a classe é de 4 horas por dia, 5 dias por semana com Labs, testes, exames, e luta).

Eu não tenham obtido a questão ainda ... mas eu sei que está chegando ...

Quando usar MVC em vez de ASP ??

Eu não tenho nenhuma experiência real com ASP MVC e eu não posso encontrar qualquer tipo de resposta clara na web. Argumentos como ... a web é apátrida e ASP MVC é uma correspondência mais próxima etc etc não significam muito para eles. Eles estão começando a perceber que a ASP tem muitos controles que parecem simplificar a sua marcação em relação ao MVC.

Estou tentando dar um giro honesto, e qualquer feedback seria muito apreciada! TIA

Publicado 10/12/2008 em 05:30
fonte usuário
Em outras línguas...                            


6 respostas

votos
6

Apatridia é uma boa palavra para explicar como já destacado pelos membros. Para além disto fazer as seguintes perguntas para os alunos?

Se eles têm que fazer o seguinte com ASP.NET (sem MVC), o quão fácil será?

  1. Teste seus pontos de vista
  2. objetos HTTP Mock.
  3. redução estado de visualização (por desenho) (
  4. ViewEngine leve substituto para .aspx.
  5. separação completa de preocupações.
  6. Limpe HTML
  7. etc etc..

Agora explique mvc asp.net no contexto acima. Pode haver mais do que isso. Pelo menos eu acho que eles vão chegar ao ponto, pensei que este pode não ser aplicável a todos os projetos, mas o que é o mal se nós só estão ganhando com isso.

Respondeu 10/12/2008 em 06:45
fonte usuário

votos
4

Eu sempre pensei que a MVC Framework ASP.NET foi um mau nome desde a sua um padrão de design.

A pergunta deveria ser:

Quando usar ASP.NET MVC Framework sobre ASP.NET Web Forms?

O desenvolvedor Experience

a) Web ASP.NET Forms tenta abstrair a natureza do HTTP do desenvolvedor. O estado de GUI Elements, e ou os dados são armazenados no Viewstate / sessão. Todos Form faz um postback para si, basicamente, imitando o comportamento de um projeto de evento WinForm conduzido.

b) Elementos GUI HTML são ainda captada por controles que podem ser re-utilizados, comprados de vendedores 3rd party. Isso ajuda os desenvolvedores a cola um aplicativo HTML juntos sem muito JavaScript e Conhecimento de HTML / HTTP. Basicamente semelhante à maneira como você iria desenvolver VB / WinForms

c) Você pode fazer um bom trabalho implementar o padrão MVC / MVP em ASP.NET WebForms. Olhe para a fábrica de software cliente padrões e práticas da Web para ver como eles fizeram isso.

d) Desenvolver usando WebForms você são geralmente mudando o HTML (View) com base no feedback do usuário no servidor. A maioria dos eventos (usuário clica em um botão, edita um campo) são tratados no servidor em um loop de postagem contínua de executar o que é chamado a Página Lifecycle ASP.NET.

VS

Navegador vista controlada (não sei o que mais chamá-lo). Todas as alterações ao HTML com base na entrada do usuário é tratado no browser. Você será manipular o DOM com Javascript.

Nota: Eu baseando isso no fato de que ASP.NET MVC é provavelmente impulsionada pela HTML básico + Ajax

Como eu pessoalmente escolher entre eles (nunca ter usado MVC, apenas lendo sobre ele)

1) Se eu fosse para construir um front-end sem estado puro utilizando Ajax, jQuery, tipo bibliotecas Ext JS ASP.NET MVC parece ser o melhor ajuste. Embora você poderia construir isso em ASP.NET Webforms parece inútil desde que você não tomar vantagem do modelo de postback e Server Controls.

2) Se me pedissem para construir uma nova aplicação básica web, eu iria ficar com ASP.NET Webforms desde que eu já estou familiarizado com ele e saber toda a página lifecylce.

3) Se me pedissem para construir um Web 2.0 (odeio esse termo) para ter uma próxima experiência do usuário gen, eu provavelmente iria com ASP.NET MVC, e usar os controles do cliente JQuery / ASP.NET Ajax.

4) Muitas empresas construíram um sólido conjunto de controles WebForm para usar. Seria caro para reconstruí-los todos de uma forma ajaxy sem estado puro :)

Respondeu 10/12/2008 em 07:29
fonte usuário

votos
4

Para mim, a abordagem MVC é um paradigma muito diferente do ASP Forms API. Eu acho que a idéia de ser "apátridas" é uma boa maneira de explicar um tema muito amplo em uma palavra na verdade.

Uma das principais vantagens que eu tenho visto é que o framework MVC dá um monte de controle sobre o design ea saída de sua página. Para pequenos projetos, este pode não ser o melhor uso dele, mas para grandes projetos, escalas muito bem porque você pode fazer escolhas diferentes de arquitetura que (pessoalmente) eu acho ser melhor, como a maneira que o framework MVC separa a lógica a partir da vista.

Além disso, se você está projetando um site que tem um monte de Javascript, o controle você ganha sobre a saída no quadro MVC pode ser muito útil, porque você não precisa se preocupar tanto sobre como IDs e outras marcações podem ser prestados, como você costuma fazer no âmbito formulários ASP.

O framework MVC é realmente uma maneira totalmente diferente de projetar web sites. Pessoalmente, acho que é mais benéfico para os grandes projectos, mas eu também começou em linguagens web onde MVC foi uma escolha de design mais popular para começar.

Isso é apenas meus 2 centavos.

Respondeu 10/12/2008 em 05:39
fonte usuário

Respondeu 10/12/2008 em 08:17
fonte usuário

votos
1

Além de todas as outras respostas excelentes já listados. Webforms é uma abstração longe de HTML.

Quando você quer uma tabela html de dados, você coloca um controle "gridview" em uma página - o que você acabar com html "gridview", e muito possivelmente não exatamente o que você estava atrás.

O sapato se encaixa 90% do tempo, mas uma grande parte do tempo, especialmente quando as coisas se movem para além de um site básico que os controles não se encaixam. Usando Webforms muitas vezes significa que você não tem controle total sobre o resultado final que é processado para o navegador.

Pode, claro, estender ou escrever seu próprio controle de grade. Mas não seria você preferir escrever o html que você quer em vez disso?

É minha experiência que tem os projetos se tornam mais complexas, e obter da UI mais complicado que você acabar lutando webforms mais e mais vezes.

Respondeu 10/12/2008 em 07:59
fonte usuário

votos
1

Para alguém com experiência (e dores) no WinForms - a maior diferença não é mais Viewstate. O estado de controles no formulário é mantido no cliente, no navegador e enviados para o servidor para cada solicitação.

Se você usar Javascript, é mais fácil fazer alterações no lado do navegador, enquanto o lado do servidor recebe uma maneira fácil de olhar para a forma como um todo, sem ter que recriar os controles de ligação.

Além de todas as coisas agradáveis ​​MVC fornece - separação de vista / código, a capacidade de teste - este foi para mim o ponto-chave para se deslocar para MVC.

Respondeu 10/12/2008 em 06:06
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more