Image Image Image Image Image
Scroll to Top

Topo

29

jul
2011

Sem Comentários

Em Blog

Por Allison

Reflection: maximizando a produtividade em Java

Em 29, jul 2011 | Sem Comentários | Em Blog | Por Allison

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”).

Fonte: Oracle.Com

Redes Sociais

Tags | , , , , , ,

Enviar um Comentário