Casa do Código - Livros e Tecnologia

  • Programação
  • Lógica
  • Java
  • .NET
  • PHP
  • Games
  • OO
  • Funcional
  • Python
  • Outros
  • Todos
  • Mobile
  • iOS
  • Android
  • Multiplataforma
  • Outros
  • Todos
  • Front-end
  • HTML e CSS
  • JavaScript
  • Outros
  • Todos
  • Infraestrutura
  • Web
  • Dados
  • Outros
  • Todos
  • Business
  • Startups
  • Marketing Digital
  • Gestão
  • Agile
  • Outros
  • Todos
  • Design & UX
  • Você tem 0 itens na sacola 0 Abrir navegação por categorias e busca Ir para ao topo da página

    Use o código e tenha 10% de desconto!

    Componentes Reutilizáveis em Java com Reflexão e Anotações

    Eduardo Guerra
    Livro de Reflexão e Anotações

    *Você terá acesso às futuras atualizações do livro.

    Conteúdo

    Muitos dos recursos providos pelos frameworks e componentes mais utilizados na indústria extrapolam os simples conceitos da Orientação a Objetos e fazem uso de reflexão e anotações. A utilização dessas poderosas ferramentas pode fazer uma grande diferença, com potencial de aumentar a produtividade do time e melhorar a estrutura do código.

    Neste livro, o uso de reflexão e anotações é abordado por completo, indo desde o funcionamento da API até boas práticas em sua utilização. Além disso, o livro também fala sobre ferramentas de código aberto, manipulação de bytecode e as novidades sobre reflexão do Java 8. Suba de nível em suas habilidades de programação aprendendo essa técnica que vai lhe permitir escrever códigos extremamente flexíveis.

    Saiba o que você vai aprender

     

    Sumário

    • 1 Conhecendo a Reflexão
    • 1.1 Ainda falta alguma coisa na orientação a objetos?
    • 1.2 Reflexão, muito prazer!
    • 1.3 O primeiro contato com a API Reflection
    • 1.4 Usar reflexão tem um preço?
    • 1.5 Considerações finais
    • 2 Java Reflection API
    • 2.1 Obtendo informações sobre as classes
    • 2.2 Trabalhando com classes
    • 2.3 Manipulando objetos
    • 2.4 Procurando métodos e atributos para validação
    • 2.5 Coisas que podem dar errado
    • 2.6 Considerações finais
    • 3 Metadados e Anotações
    • 3.1 Definição de metadados
    • 3.2 Criando anotações
    • 3.3 Lendo anotações em tempo de execução
    • 3.4 Limitações das anotações
    • 3.5 Mapeando parâmetros de linha de comando para uma classe
    • 3.6 Considerações finais
    • 4 Proxy Dinâmico
    • 4.1 O que é um proxy?
    • 4.2 Proxy dinâmico com a API Reflection
    • 4.3 Gerando a implementação de uma interface
    • 4.4 Proxy de classes com CGLib
    • 4.5 Consumindo anotações em proxies
    • 4.6 Outras formas de interceptar métodos
    • 4.7 Considerações finais
    • 5 Testando classes que usam Reflexão
    • 5.1 Variando estrutura da classe para teste
    • 5.2 Teste de proxies dinâmicos
    • 5.3 Testando a configuração de metadados
    • 5.4 Gerando classes com ClassMock
    • 5.5 Considerações finais
    • 6 Práticas no uso de anotações
    • 6.1 Mais de uma anotação do mesmo tipo
    • 6.2 Reduzindo a quantidade de configurações
    • 6.3 Expressões em anotações
    • 6.4 Associando comportamento a anotação
    • 6.5 Mapeamento de anotações
    • 6.6 Considerações finais
    • 7 Consumindo e processando metadados
    • 7.1 Componente base para o exemplo
    • 7.2 Separando a leitura do processamento de metadados
    • 7.3 Estendendo a leitura de metadados
    • 7.4 Tornando os metadados extensíveis
    • 7.5 Camadas de processamento de metadados
    • 7.6 Considerações finais
    • 8 Ferramentas: indo além na reflexão
    • 8.1 Manipulando beans com BeanUtils
    • 8.2 Interfaces fluentes para reflexão
    • 8.3 Procurando por classes
    • 8.4 Inserindo e substituindo anotações com AspectJ
    • 8.5 Considerações finais
    • 9 Manipulação de bytecode
    • 9.1 Entendendo o bytecode
    • 9.2 Entendendo o ASM
    • 9.3 Quando o bytecode pode ser alterado?
    • 9.4 Criando um bean a partir de um mapa
    • 9.5 Data da última modificação de um objeto
    • 9.6 Considerações finais
    • 10 Reflexão no Java 8
    • 10.1 Acessando nomes de parâmetros
    • 10.2 Múltiplas anotações
    • 10.3 Anotações de Tipo
    • 10.4 Reflexão e expressões lambda
    • 10.5 Considerações finais
    • 11 Truques da API de reflexão
    • 11.1 Quem me chamou?
    • 11.2 Recuperando tipos genéricos com reflexão
    • 11.3 Acessando membros privados
    • 11.4 API Method Handle
    • 11.5 Considerações finais
    • 12 Palavras finais

    Autor

    Eduardo Guerra

    Eduardo Guerra é desenvolvedor de frameworks, editor-chefe da revista MundoJ e pesquisador do Instituto Nacional de Pesquisas Espaciais (INPE). Foi professor do Instituto Tecnológico de Aeronáutica (ITA), onde concluiu sua graduação, mestrado e doutorado. Suas pesquisas concentram-se nas áreas de design, arquitetura e teste de software. Possui diversas certificações da plataforma Java e experiência como arquiteto de software. Participa de projetos de frameworks open-source, como SwingBean, Esfinge e ClassMock. Ele acredita que um bom software faz-se mais com criatividade do que com código e vive em busca de melhores formas para seu desenvolvimento. Está no Twitter como @emguerra.

    Dados do produto

    Número de páginas:
    402
    ISBN:
    978-85-66250-50-3
    Data publicação:
    02/2014
    Submeter errata Fórum de discussões

    Compartilhe!

    Compartilhe no Facebook Compartilhe no Twitter

    Impulsione sua carreira aprendendo também...

    Livro de Design Patterns
    Design Patterns
    +
    Livro de Java 8
    Java 8 Prático
    altLogoFooter

    Links da
    Casa do Código

    • Meus ebooks
    • Sobre a Casa do Código
    • Todos os livros
    • Nossas coleções
    • Quero escrever um livro ou fazer parceria
    • Perguntas Frequentes
    • Política de Privacidade
    • Fale conosco

    Nas redes sociais

    • /CasaDoCodigo
    • @casadocodigo
    • @casadocodigo

    Receba novidades e lançamentos

    Este site aceita Pix, Cartão de Crédito, Débito

    • pagarme
    • paypal

    Grupo Alura

    • Educação em Tecnologia

      • FIAP
      • Casa do Código
      • PM3 - Cursos de Produto
    • Mais Alura

      • Alura Start
      • Alura Língua
      • Alura Para Empresas
      • Alura LATAM
    • Comunidade

      • Tech Guide
      • 7 days of code
      • Hipsters ponto Jobs
    • Podcasts

      • Hipsters ponto Tech
      • Dev sem Fronteiras
      • Layers ponto Tech
      • Like a Boss
      • Scuba Dev