Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da .net Magazine DIGITAL
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
ASP.NET Dynamic Data - Revista .Net Magazine 96
ASP.NET Dynamic Data é um template para a criação rápida de Web Applications orientadas ao trabalho com bancos de dados. O seu principal foco é permitir a criação de toda uma estrutura para CRUD de dados com pouco ou nenhum código.
.net Magazine 96
[Artigo disponível no Leitor Digital DevMedia. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da .net Magazine 96
[Artigo disponível no Leitor Digital DevMedia. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da .net Magazine 96
O ASP.NET surgiu como uma alternativa para desenvolvimento rápido de aplicativos Web. Ao usar controles de servidor (server controls) e com a linguagem C# fazendo o trabalho de definição de regras de negócio. Desta forma, chegou-se a um nível em que o desenvolvimento Web tornou-se quase tão rápido e simples como o desenvolvimento de aplicações desktop existentes na época do seu surgimento. Nos projetos mais típicos, os controles eram arrastados para um WebForm tendo suas propriedades ajustadas e, algum código, sendo escrito para tratamento dos eventos.
Entretanto este tipo de abordagem para as aplicações Web começou a produzir alguns problemas e insatisfações, principalmente partindo dos desenvolvedores que já estavam acostumados com outros padrões para desenvolvimento Web, notadamente usando a edição do HTML manualmente e tendo o controle completo de scripts e o gerenciamento do estado da página. Com o ASP.NET perdia-se um pouco deste controle e o código gerado automaticamente nem sempre era o melhor a ser usado.
Veio então uma nova versão do framework e com ela novos recursos foram adicionados. Agora havia o ASP.NET MVC e o Linq To SQL e mais tarde o Entity framework.
Com o MVC, o framework .NET disponibilizou a sua versão para este design pattern tradicional para o desenvolvimento de aplicações, fazendo separação entre as camadas de dados e regras de negócio (Model), de apresentação (View) e como estas se conectam (Controller) aliando com boas práticas no desenvolvimento de projetos para a Web.
Usando este design pattern é possível voltar a ter o controle do comportamento da página. O que representa não somente a possibilidade de fazer ajustes precisos no código HTML gerado, mas, também, personalizar a forma como os links são gerados usando routing e, graças ao Linq, fazer a ponte entre dados relacionais armazenados no banco e a orientação a objetos.
Nota do DevMan
Routing consiste em construir um hiperlink de forma que seu conteúdo possa ser facilmente entendido não apenas pelos browsers, mas também pelos usuários. Assim, um link que antigamente poderia ser representado como http://servidor.com/cadastro/produtos/editar_produto.aspx?id=132, agora pode ser simplesmente representado da forma http://servidor/cadastro/produtos/editar/132. A aplicação entende o caminho que está sendo passado e executa a ação certa no local certo com o objeto certo.
Nem sempre um padrão é o melhor em todos os casos. Alguns profissionais dizem que MVC é ideal para 5% dos projetos Web, enquanto 95% ficaram sem opção. Independentemente de opiniões, o MVC toma tempo, bastante tempo e, embora a qualidade final do projeto construído com este design pattern (quando bem aplicado) seja melhor, existem situações em que por falta de tempo não seja possível a sua utilização. É para estes casos que ASP.NET Dynamic Data oferece uma solução.
Nota do DevMan
O mapeamento objeto relacional é realizado por frameworks ORM. Esses frameworks permitem que se crie uma camada de classes de domínio, que posteriormente serão persistidas em um banco de dados relacional. O papel de um framework ORM é abstrair as operações relacionais e de CRUD, liberando assim o desenvolvedor a focar em seu principal objetivo, regras de negócio. Mas para que um framework ORM funcione, é necessário realizar o mapeamento objeto relacional, que de uma maneira simples de explicar, consiste em dizer a esse framework em qual banco de dados SQL, quais tabelas e campos as classes de domínio serão salvas. Existem diversos frameworks ORM para o .NET, dentre eles citamos o NHibernate, que é free e open-source. O Entity framework é um produto da Microsoft e faz parte do .NET framework.
Dynamic Data em perspectiva
Este modelo de projeto foi disponibilizado no Visual Studio e no framework .NET a partir da versão 3.5 Service Pack 1. Sua principal característica é gerar todo o código necessário para realizar CRUD nas tabelas, analisando os metadados do banco de dados. Partindo das classes que são geradas com Linq to SQL ou com o Entity framework são construídos templates e modelos para a geração das páginas ASPX que são usadas na execução do projeto.
"
Este é um post disponível para assinantes MVP
Entretanto este tipo de abordagem para as aplicações Web começou a produzir alguns problemas e insatisfações, principalmente partindo dos desenvolvedores que já estavam acostumados com outros padrões para desenvolvimento Web, notadamente usando a edição do HTML manualmente e tendo o controle completo de scripts e o gerenciamento do estado da página. Com o ASP.NET perdia-se um pouco deste controle e o código gerado automaticamente nem sempre era o melhor a ser usado.
Veio então uma nova versão do framework e com ela novos recursos foram adicionados. Agora havia o ASP.NET MVC e o Linq To SQL e mais tarde o Entity framework.
Com o MVC, o framework .NET disponibilizou a sua versão para este design pattern tradicional para o desenvolvimento de aplicações, fazendo separação entre as camadas de dados e regras de negócio (Model), de apresentação (View) e como estas se conectam (Controller) aliando com boas práticas no desenvolvimento de projetos para a Web.
Usando este design pattern é possível voltar a ter o controle do comportamento da página. O que representa não somente a possibilidade de fazer ajustes precisos no código HTML gerado, mas, também, personalizar a forma como os links são gerados usando routing e, graças ao Linq, fazer a ponte entre dados relacionais armazenados no banco e a orientação a objetos.
Nota do DevMan
Routing consiste em construir um hiperlink de forma que seu conteúdo possa ser facilmente entendido não apenas pelos browsers, mas também pelos usuários. Assim, um link que antigamente poderia ser representado como http://servidor.com/cadastro/produtos/editar_produto.aspx?id=132, agora pode ser simplesmente representado da forma http://servidor/cadastro/produtos/editar/132. A aplicação entende o caminho que está sendo passado e executa a ação certa no local certo com o objeto certo.
Nem sempre um padrão é o melhor em todos os casos. Alguns profissionais dizem que MVC é ideal para 5% dos projetos Web, enquanto 95% ficaram sem opção. Independentemente de opiniões, o MVC toma tempo, bastante tempo e, embora a qualidade final do projeto construído com este design pattern (quando bem aplicado) seja melhor, existem situações em que por falta de tempo não seja possível a sua utilização. É para estes casos que ASP.NET Dynamic Data oferece uma solução.
Nota do DevMan
O mapeamento objeto relacional é realizado por frameworks ORM. Esses frameworks permitem que se crie uma camada de classes de domínio, que posteriormente serão persistidas em um banco de dados relacional. O papel de um framework ORM é abstrair as operações relacionais e de CRUD, liberando assim o desenvolvedor a focar em seu principal objetivo, regras de negócio. Mas para que um framework ORM funcione, é necessário realizar o mapeamento objeto relacional, que de uma maneira simples de explicar, consiste em dizer a esse framework em qual banco de dados SQL, quais tabelas e campos as classes de domínio serão salvas. Existem diversos frameworks ORM para o .NET, dentre eles citamos o NHibernate, que é free e open-source. O Entity framework é um produto da Microsoft e faz parte do .NET framework.
Dynamic Data em perspectiva
Este modelo de projeto foi disponibilizado no Visual Studio e no framework .NET a partir da versão 3.5 Service Pack 1. Sua principal característica é gerar todo o código necessário para realizar CRUD nas tabelas, analisando os metadados do banco de dados. Partindo das classes que são geradas com Linq to SQL ou com o Entity framework são construídos templates e modelos para a geração das páginas ASPX que são usadas na execução do projeto.
"
A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da .net Magazine DIGITAL
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Vladimir Rech
Formado em Tecnologia em desenvolvimento de software pela UTF/PR. Desenvolvedor de software. Palestrante.
O que você achou deste post?
Cursos relacionados
Publicidade

código fonte

