Pergunta

Conheço um monte de pessoas que estão realmente gostando das melhorias que o ASP.NET MVC 2 fez durante o primeiro lançamento. Acabei de começar a migrar nosso projeto MVC 1 e, até agora, as áreas limparam totalmente a bagunça da subpasta que tivemos em nossa aplicação em larga escala. À medida que me aprofunda em todas as melhorias e mudanças que foram feitas, ainda continuo pensando comigo mesmo, seria bom se eles tivessem X nesse lançamento. Por exemplo, eu adoraria se eles tivessem algum tipo de injeção de dependência incorporada, em vez de ter que usar soluções de terceiros.

Minha verdadeira pergunta é agora que o ASP.NET MVC 2 está em estado selvagem, o que os recursos desejam/desejam que a equipe tenha implementado e espere que eles implementem para o ASP.NET MVC 3?

EDITAR

Parece que a injeção de dependência é incorporada para a primeira versão de visualização do ASP.NET MVC 3! Eu gosto dos recursos adicionados até agora. ASP.NET 3 Visualização Um está fora!

Foi útil?

Solução

Eu acho que o MVC 3 não será muito dramático com suas melhorias, mas mais estável e gradual.

o Roteiro ASP.NET MVC 3 Tem um instantâneo do que a equipe aparentemente está olhando para a implementação no próximo lançamento e alguns dos pontos são muito interessantes.

Eu acho que meus favoritos dessa lista provavelmente seriam:

  • Mais ajudantes do Ajax: isso alinhará a estrutura com o mundo da Webforms, que já tem todos esses ajudantes e, até certo ponto, atua como uma barreira para algumas pessoas que ocupam a plataforma.
  • Mais coisas de injeção de dependência - para aqueles que desejam, isso é ótimo. :)
  • O suporte aprimorado em cache é a grande vitória para mim. Ter isso construído na estrutura seria um grande benefício e poderia resultar em uma boa economia de desempenho.
  • Validationattributes adicionais também não se sentiriam perdidos. Embora a instalação seja ótima para adicioná -los, uma boa biblioteca dos comuns, como email e propriedadesmustmatch e assim por diante.

Outras dicas

Eu gostaria da remoção completa de tudo cordas mágicas.

Eu realmente gostaria que eles adicionem o seguinte:

  1. Condicionais e loops de estilo Spark usando atributos de tag HTML.
  2. Atualizado: Propriedade do projeto visível para alternar a validação do tempo de compilação de visualizações.
  3. Algo para verificar/validar se minhas rotas estão corretas.
  4. Solução do provedor de associação que usa o INT em vez de Guid para identificação e permite mapear os campos de perfil para uma tabela personalizada em vez do padrão genérico, mas lento.
  5. Ajudantes baseados em lambda para evitar cordas mágicas (atualmente em MVCFutures)
  6. Modelo T4MVC para ajudar automaticamente os ajudantes digitados
  7. Wizards ou modelos de projeto para obter um modelo que já está configurado para o COI e preocupações semelhantes, de preferência com uma caixa de diálogo de seleção para escolher qual estrutura usar para o COI, testes de unidade etc.
  8. Atributos adicionais (filtros e validação).

Hmmm, é tudo o que consigo pensar agora :)

As ferramentas (modelos T4) para criar objetos MOQ para teste de unidade seriam muito legais. O teste de certos objetos na estrutura é desnecessariamente complicado, e ter a capacidade de codificar-se, parte disso seria muito benéfica.

Eu gostaria:

Ferramentas

  • Uma visualização de listagem alternativa usando Ajax por exemplo, usando JQGrid (implementando a classificação, paginação, pesquisa)
  • Aprimoramentos para páginas de crud Detectar as entidades relacionamentos para as classes da estrutura da entidade e usar outro conjunto de componentes baseados em campos tipo, por exemplo, como dados dinâmicos :)

Como o ASP.NET MVC 3 será apenas .NET 4, eu gostaria de ver algumas coisas em torno de controladores assíncronos e todos os outros novos funções de assíncrias/multithreading que .Net 4 traz.

Eu gostaria de ver suporte embutido para coisas como IronRuby

O apoio do MEF seria bom.

Eu gostaria de ver uma nova maneira de lidar com o roteamento, para facilitar o desenvolvimento de serviços de REST do desenvolvedor. Atualmente tenho rotas como esta:

context.MapRoute(null,
                 "api/posts",
                 new { controller = "Post", action = "Get" },
                 new { httpConstraint = new HttpMethodConstraint("GET") });


context.MapRoute(null,
                 "api/posts",
                 new { controller = "Post", action = "Insert" },
                 new { httpConstraint = new HttpMethodConstraint("POST") });


context.MapRoute(null,
                 "api/posts/{id}",
                 new { controller = "Post", action = "Update" },
                 new { httpConstraint = new HttpMethodConstraint("PUT") });


context.MapRoute(null,
                 "api/posts/{id}",
                 new { controller = "Post", action = "Delete" },
                 new { httpConstraint = new HttpMethodConstraint("DELETE") });

Para uma nova pessoa usando o ASP.NET MVC, é muito inintivo criar objetos anônimos para lidar com o roteamento. Eu gostaria de ver isso revisado para algo assim (e como estamos usando o C# 4.0):

context.MapRoute("api/posts",
                 controller: "Post",
                 action: "Get",
                 httpMethodConstraint: HttpMethodConstraint.GET
                );

context.MapRoute("api/posts",
                 controller: "Post",
                 action: "Insert",
                 httpMethodConstraint: HttpMethodConstraint.POST
                );

context.MapRoute("api/posts/{id}",
                 controller: "Post",
                 action: "Update",
                 httpMethodConstraint: HttpMethodConstraint.PUT
                );

context.MapRoute("api/posts/{id}",
                 controller: "Post",
                 action: "Delete",
                 httpMethodConstraint: HttpMethodConstraint.DELETE
                );

Isso o tornaria mais descoberto também.

Gostaria de ajudantes que andaim automaticamente as visualizações de índice. Talvez algo como IndexDisplay(), IndexDisplayFor(), e IndexDisplayForModel().

Gostaria de modelar aulas de amigos de gênero automático em qualquer modelo.

Também uso o recurso de simplicidade, como a maioria das coisas sem auxiliar, como o HTML-Helper I Thing That Development no ASP.NET MVC 3 é uma maneira melhor de aprender o MVC 3 no futuro.

As duas coisas que eu gostaria de ver a maioria são a injeção direta de dependência em vistas, filtros etc., e (eu sei que isso está supostamente a caminho com o mecanismo de visualização de barbear) é poder testar minhas opiniões isoladas do Pipeline ASP.NET (talvez incluindo a validação do DOCTYPE e/ou algum tipo de compilação/validação de JavaScript).

Aqui estão algumas outras idéias:

  • Seria bom poder empacotar um componente da interface do usuário (visualizações, modelos, modelos de exibição etc.) para reutilizar em vários projetos. Acho que isso atualmente é possível de alguma forma, mas eu simplesmente não preciso muito do suficiente para descobrir isso sozinho.
  • A ideia de ações sem controlador me intriga, particularmente do ponto de vista do SRP.
  • Melhor suporte para o padrão pós-redirect-get (p/r/g) ... parece que deve haver suporte intrínseco para esse padrão muito importante.

Mais controles e ajudantes seriam muito legais, especialmente uma grade (Ajax).

Gostaria de ver o suporte à montagem das áreas (quero dizer, muitos conjuntos com áreas diferentes) + carregamento dinâmico, algo como plugins.

EDIT: E temos visualização 1 hoje: http://weblogs.asp.net/scottgu/archive/2010/07/27/introducing-asp-net-mvc-3-preview-1.aspx

Alguém feliz? :>

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top