Reflection é um poderoso recurso presente na maioria das linguagens orientadas a objetos que permite inspecionar metadados de objetos em tempo de execução, o que inclui, por exemplo, informações sobre tipos, classes, interfaces e enumerações. O recurso é amplamente utilizado em várias situações. Por exemplo, aplicações que permitem que o usuário altere alguma configuração em um controle de tela, personalizando conforme sua necessidade, podem usar Reflection para isso. Frameworks de persistência normalmente recebem objetos da camada de apresentação, necessitando inspecionar este objeto buscando em runtime informações sobre nomes de propriedades, para então gerar comandos SQL dinamicamente. Isso pode ser feito com Reflection. Muitas vezes o uso do recurso vai de encontro à utilização de Generics, onde temos objetos fortemente tipados. Outros preferem ligar objetos em runtime através de interfaces, uma boa prática. Acredito que a obtenção de uma boa arquitetura de software, expansível, plugável e flexível, seja a combinação harmoniosa de Reflection, Generics e Interfaces. Nesta edição, você vai entender como usar reflexão para criar um mecanismo que é flexível quanto à persistência de dados em diferentes servidores de banco de dados, na matéria do Vladimir Rech.
O Vinicius Quaiato vai apresentar os fundamentos técnicos da plataforma para Cloud Computing da Microsoft, o Windows Azure. O autor apresenta os componentes Compute, Storage e AppFabric, os tipos de aplicação Worker Roles, Web Roles e VM Roles, os tipos de armazenamento Queues, Blobs, Tables e Drive. Na parte prática veja como criar uma solução usando o SDK Tools e o Azure Emulator. Ainda temos a matéria do Sidnei que integra o Azure com o Bing Maps. Já o Fernando traz uma importante abordagem sobre o Windows Communication Foundation – WCF, tratando do gerenciamento de instâncias no servidor, com os modelos PerCall, PerSession e Single. Veja como e quando usar cada um dos modelos suportados pelo WCF.
Muitas boas práticas nesta edição. Além da matéria de capa do Vladimir, temos um artigo sobre Refatoração, do Guilherme Oenning. O autor aborda técnicas para manter um código limpo (sem “mau cheiro”). Refatoração é o nome dado à técnica onde são feitas pequenas alterações a fim de melhorar a legibilidade do código, aumentar o desempenho, melhorar a estrutura do projeto ou remover duplicações sem que isso afete o comportamento externo do software. Lembre-se ainda que o Visual Studio oferece, desde a versão 2005, um menu específico para ajudar na refatoração. O Alexandre Tadashi trata deste que sem dúvida é um dos recursos mais poderosos do WPF – Windows Presentation Foundation, o mecanismo Data Binding, que permite fazer a ligação de dados entre objetos. Para isso, o autor apresenta o uso de boas práticas, como o padrão MVVM (Model – View - ViewModel). Integração Contínua é o assunto do artigo do Juan Lopes, que você vai conferir em nossa sessão Engenharia de Software.
Arigos da edição:
ASP.NET Generic Handlers
Rodrigo Sendin
Bing Maps na nuvem
Criando soluções com Bing Maps e Windows Azure
Sidnei Santiago
Windows Azure
Fundamentos da plataforma de Cloud Computing da Microsoft
Vinicius Quaiato
WCF
Gerenciamento de instâncias
Fernando Rodrigues da Silva
Reflection com Banco de Dados
Como usar os recursos de Reflection para preencher dados de classes
Vladimir Rech
Refatoração
Mantendo uma base de código limpa
Guilherme Oenning
Data Binding
Ligando dados em WPF
Alexandre Tadashi Sato
Integração Contínua
Práticas para facilitar um modelo de trabalho mais fluido
Juan Lopes
Injeção de dependência com Unity
Desenvolvendo com baixo acoplamento
Anderson Santos Gusmão