DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da .net Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Artigo .net magazine 71 - Dynamic types

Este artigo descreve algumas das capacidades dinâmicas introduzidas na nova versão do framework .NET. Através de um exemplo prático, iremos explorar as mais novas funcionalidades do DLR (Dynamic Language Runtime) e entender como utilizá-las em aplicações reais.






Novidades – Boa Ideia - Expert
Dynamic types
Dinamismo no .NET 4


Do que trata o artigo
Este artigo descreve algumas das capacidades dinâmicas introduzidas na nova versão do framework .NET. Através de um exemplo prático, iremos explorar as mais novas funcionalidades do DLR (Dynamic Language Runtime) e entender como utilizá-las em aplicações reais.
Para que serve
Utilizando as novas capacidades dinâmicas do framework, é possível construir aplicações mais flexíveis, maleáveis e fáceis de adaptar e integrar. Os tipos dinâmicos se integram facilmente com as linguagens dinâmicas incorporadas ao framework, como Python e Ruby.
Em que situação o tema é útil
As funcionalidades dinâmicas podem ser úteis em diversos cenários, dentre eles podemos destacar a criação de web sites de forma rápida e simples, interoperabilidade entre aplicações e bibliotecas, utilização de metaprogramação, dentre outros. Existem diversas aplicações e usos para linguagens e funcionalidades dinâmicas.

Resumo do DevMan
As linguagens dinâmicas tiveram uma grande popularidade na década de 80. Eram bastante utilizadas para a criação de scripts. Pode-se dizer que elas perderam seu espaço na década de 90 para linguagens estaticamente tipadas. Com a grande procura por sistemas distribuídos e sendo executados na web, as linguagens dinâmicas voltaram a ter um grande foco. Suas implementações simples, facilidade de codificação e refatoração são alguns dos fatores positivos que levam ao seu sucesso. Neste artigo abordaremos algumas destas facilidades utilizando duas novas classes do .Net Framework 4.0: ExpandoObject e DynamicObject.

Na versão 4 do .NET framework, capacidades dinâmicas foram incluídas para fornecer flexibilidade às linguagens estaticamente tipadas, como o C# e o VB por exemplo, e também fornecer acesso aos recursos do framework para linguagens dinâmicas como Ruby e Python.
O responsável por tudo isso é uma parte do framework chamada DLR – Dynamic Language Runtime, que faz uma espécie de “meio de campo” entre as linguagens estaticamente tipadas e as linguagens e recursos dinâmicos do framework, como mostra a Figura 1.
 
Figura 1. Integração do Dynamic Language Runtime

O DLR nos possibilita criar objetos e classes dinâmicas no C# (como veremos adiante neste artigo) e também nos possibilita executar código escrito em linguagens como Python e o Ruby dentro do C# (ou VB).
A partir de agora exploraremos duas novas classes introduzidas no .NET 4.0, que são essenciais para trabalhar com esas capacidades: ExpandoObject e DynamicObject.
A classe ExpandoObject
ExpandoObject representa um objeto que pode ter propriedades e/ou métodos adicionados ou removidos em tempo de execução. O ExpandoObject nos permite criar objetos completamente dinâmicos, que terão seus membros avaliados somente durante a sua execução. Para demonstrar um pouco o funcionamento e utilidade desta classe, iremos criar como exemplo um simples mapeador para uma tabela do banco de dados. Este mapeador irá gerar um objeto do tipo ExpandoObject, onde suas propriedades serão as colunas de uma tabela do banco de dados lidas e geradas na execução do sistema.
Por que usar dynamic?
A utilização de dynamic não fornece suporte a IntelliSense, e também não existem verificações em tempo de compilação, por que então deveríamos utilizar dynamic? As razões podem ser muitas. Talvez algumas aplicações realmente nunca precisem deste tipo de funcionalidade, mas a criação de frameworks e APIs estão sendo muito beneficiadas pelas capacidades dinâmicas do .net e seu desenvolvimento tem sido facilitado.
"


ATENÇÃO! A exibição deste artigo foi interrompida.


  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da .net Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!






    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



Publicidade
Autor
Vinicius Quaiato

Trabalha com desenvolvimento de software há cerca de 4 anos, especificamente com tecnologias Microsoft .NET. Aficcionado por arquitetura e boas práticas. Atualmente trabalha com desenvolvimento e arquitetura de aplicações SOA. Atua na comunidade .Net Architects e coordena o grupo de Coding Dojo da m...


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03