Procurando mais livros de programação?
Conheça a editora Casa do Código.

Confuso com tantos design patterns, padrões, frameworks e boas práticas?

Introdução à Arquitetura e Design de Software

Uma visão sobre a Plataforma Java

Capa do livro
Comprar ebook Comprar impresso ou baixe alguns tópicos abertos abaixo

Criar um projeto na plataforma Java é um grande desafio: são diversas opções de tecnologias e formas de arquitetar a aplicação.

Neste livro, os autores, conhecidos especialistas da área, apresentam muitos tópicos que aparecem com frequência na plataforma Java, incluindo desde modelagem e design das classes, até detalhes importantes das tecnologias mais utilizadas.

Sempre com uma visão técnica e prática capaz de elucidar muitas questões enfrentadas tanto pelo profissional iniciante quanto por aquele que está adquirindo mais experiência na plataforma.

Para quem é o livro

Para o desenvolvedor Java com mais de um ano de experiência ou que participou de mais de um projeto Java. Se você começou a participar de projetos Java e quer saber por que uma série de decisões foram tomadas (ou impostas!) de determinada forma, este livro é para você.

Conheça o curso que inspirou o livro.

Veja discussões práticas, exercícios e constantes atualizações.

Veja também:

FJ-16: Laboratório Java com Testes, XML e Design Patterns

FJ-95: Design Patterns para bons programadores online

Conteúdo

  1. Errata
  2. Agradecimentos
  3. Sobre os autores
  4. Prefácio, por Jim Webber
  5. Introdução – Implementação, design ou arquitetura?
  6. Capítulo 1 – A plataforma Java
    1. Java como plataforma, além da linguagem
    2. Especificações ajudam ou atrapalham?
    3. Use a linguagem certa para cada problema
  7. Capítulo 2 – Java Virtual Machine
    1. Princípios de garbage collection
    2. Não dependa do gerenciamento de memória
    3. JIT Compiler: compilação em tempo de execução
    4. Carregamento de classes e classloader hell
  8. Capítulo 3 – Tópicos de Orientação a Objetos
    1. Programe voltado à interface, não à implementação
    2. Componha comportamentos
    3. Evite herança, favoreça composição
    4. Favoreça imutabilidade e simplicidade
    5. Cuidado com o modelo anêmico
    6. Considere Domain-Driven Design
  9. Capítulo 4 – Separação de responsabilidades
    1. Obtenha baixo acoplamento e alta coesão
    2. Gerencie suas dependências através de injeção
    3. Considere usar um framework de Injeção de Dependências
    4. Fábricas e o mito do baixo acoplamento
    5. Proxies dinâmicas e geração de bytecodes
  10. Capítulo 5 – Testes e automação
    1. Testes de sistema e aceitação
    2. Teste de unidade, TDD e design de código
    3. Testando a integração entre sistemas
    4. Feedback através de integração contínua
  11. Capítulo 6 – Decisões arquiteturais
    1. Dividindo em camadas: tiers e layers
    2. Desenvolvimento Web MVC: Actions ou Componentes?
    3. Domine sua ferramenta de mapeamento objeto relacional
    4. Distribuição de objetos
    5. Comunicação assíncrona
    6. Arquitetura contemporânea e o Cloud
  12. Capítulo 7 – Integração de sistemas na Web e REST
    1. Princípios de integração de sistemas na Web
    2. Padronizações, contratos rígidos e SOAP
    3. Evite quebrar compatibilidade em seus serviços
    4. Princípios do SOA
    5. REST: arquitetura distribuída baseada em hipermídia
  13. Conclusão
  14. Continuando os estudos
  15. Referências
  16. Índice Remissivo
Comprar ebook Comprar impresso

Continue a discussão no fórum do Tectura junto com os autores!

Sobre os Autores

Paulo Silveira

Paulo Silveira

É bacharel e mestre em ciência da computação pela USP e cofundador da Caelum. Possui experiência com desenvolvimento web na Alemanha, passando pelo IBOPE e por dois anos como instrutor da Sun Microsystems. É um dos fundadores do GUJ.com.br, editor técnico da revista MundoJ e criador do VRaptor.

Guilherme Silveira

Guilherme Silveira

É líder técnico e cofundador da Caelum. Trabalhou com Java e Tibco na Alemanha, comitter do XStream e criador do Restfulie. Concentra seus estudos em serviços REST. Programador experiente, participou das finais mundiais de programação no Japão e no Canadá do ICPC pelo time da USP e é arquiteto Java certificado (SCEA5).

Sérgio Lopes

Sérgio Lopes

É coordenador na unidade São Paulo da Caelum. Programa desde 2000 e desenvolve em Java desde 2003. É arquiteto Java certificado (SCEA5), moderador do GUJ e participante ativo da comunidade através de palestras, projetos, cursos e artigos.

Nico Steppat

Nico Steppat

É engenheiro de computação aplicada pela Fachhochschule Brandenburg. É instrutor, consultor e desenvolvedor há sete anos com Java no Brasil e na Alemanha. Atua na unidade Rio de Janeiro da Caelum e é arquiteto Java certificado (SCEA 5).

Guilherme Moreira

Guilherme Moreira

É instrutor e consultor pela Caelum, onde foca seu trabalho principalmente com Java desde 2005, com projetos internos e também diretamente nos clientes. Formado em Processamento de Dados pela FATEC-SP e arquiteto Java certificado (SCEA 5), escreve artigos para a revista MundoJ, além de ser responsável pela unidade de Brasília da Caelum.

Fabio Kung

Fabio Kung

É engenheiro da computação pela Escola Politécnica da USP. Passou por web, Java, Ruby, experiência na Alemanha, instrutor na Caelum, responsável na Locaweb por Cloud Computing e no Heroku em São Francisco. É arquiteto Java certificado (SCEA 5).

Fale com os autores: autores@arquiteturajava.com.br

Professor, quer usar o livro em sala de aula? Entre em contato.