Reflection API (ou Reflexão em português) é muito usado por aplicações que necessitam examinar ou modificar o comportamento de aplicações que estão sendo executadas na maquina virtual Java (JVM). É uma técnica avançada utilizada por programadores mais experientes, mas é extremamente útil, pois é uma técnica poderosa e permite aos aplicativos executar operações que de outra forma seria impossível, geralmente tais técnicas são aplicadas quando quer construir o seu próprio Framework, pois com ela é possível:
- Recursos de extensibilidade
Um aplicativo pode fazer uso externo de classes definidas pelo usuário através da criação de instâncias de objetos de extensibilidade usando seus nomes totalmente qualificados, ou seja, únicos.
- Navegadores de classe e Ambientes de Desenvolvimento Visuais
Um navegador de classes precisa ser capaz de enumerar os membros de classes, enquanto os ambientes de desenvolvimento visual pode se beneficiar fazendo uso de informações de tipo disponíveis na reflexão para ajudar o desenvolvedor a escrever código correto. Ex. Netbeans e Eclipse
- Depuradores e Ferramentas de Teste
Depuradores precisam ser capazes de examinar os membros privados em classes. Ferramentas de teste pode fazer uso de reflexão para sistematicamente chamar um conjunto de APIs detectável definido em uma classe, para assegurar um alto nível de cobertura de código em um conjunto de testes. Ex. jUnit e Debug do Netbeans ou Eclipse.
Quem nunca teve a necessidade de chamar um método pertencente a toda classe e seus objetos chamado getClass(), este método faz parte de um conjunto de métodos para descobrir classes, construtores, campos, métodos além de sua lista de membros, seja eles herdados ou não, ou mesmo privados.
E quando precisamos obter os descritores de uma classe de driver de banco de dados usando, por exemplo, o Class.forName("com.mysql.jdbc.Driver").
Isto é apenas o começo... Quer saber mais, não perca a palestra com o "Reflection: maximizando a produtividade em Java" com o Prof. Esp. Fábio Antonelli no Java Day 2011. Faça sua inscrição =)
Referência: http://download.oracle.com/javase/tutorial/reflect/index.html
Nenhum comentário:
Postar um comentário