Design Patterns com Java Projeto orientado a objetos guiado por padrões
Eduardo GuerraConteúdo
Não é trivial compreender bem os design patterns. Entender quando aplicá-los é algo que qualquer desenvolvedor deve saber. Nesse livro, você aprenderá com exemplos práticos e bem contextualizados como aplicar os padrões e em quais situações um é mais indicado que o outro. Diferencie as características particulares de cada padrão, crie aplicações que usam o melhor da orientação a objetos em seu favor e desenvolva aplicações que você conseguirá manter para sempre!
Sumário
- 1 Entendendo padrões de projeto
- 1.1 Conceitos da orientação a objetos
- 1.2 Mas esses conceitos não são suficientes?
- 1.3 O primeiro problema: cálculo do valor do estacionamento
- 1.4 Strategy: o primeiro padrão!
- 1.5 O que são padrões?
- 1.6 Como o livro está organizado
- 2 Reúso através de herança
- 2.1 Exemplo de padrão que utiliza herança - Null Object
- 2.2 Hook Methods
- 2.3 Revisando modificadores de métodos
- 2.4 Passos diferentes na mesma ordem - Template Method
- 2.5 Refatorando na direção da herança
- 2.6 Criando objetos na subclasse - Factory Method
- 2.7 Considerações finais do capítulo
- 3 Delegando comportamento com composição
- 3.1 Tentando combinar opções do gerador de arquivos
- 3.2 Bridge - uma ponte entre duas variabilidades
- 3.3 Hook Classes
- 3.4 State - variando o comportamento com o estado da classe
- 3.5 Substituindo condicionais por polimorfismo
- 3.6 Compondo com múltiplos objetos - Observer
- 3.7 Considerações finais do capítulo
- 4 Composição recursiva
- 4.1 Compondo um objeto com sua abstração
- 4.2 Composite - quando um conjunto é um indivíduo
- 4.3 Encadeando execuções com Chain of Responsibility
- 4.4 Refatorando para permitir a execução de múltiplas classes
- 4.5 Considerações finais do capítulo
- 5 Envolvendo objetos
- 5.1 Proxies e decorators
- 5.2 Exemplos de Proxies
- 5.3 Extraindo um Proxy
- 5.4 Adaptando interfaces
- 5.5 Considerações finais do capítulo
- 6 Estratégias de criação de objetos
- 6.1 Limitações dos construtores
- 6.2 Criando objetos com métodos estáticos
- 6.3 Um único objeto da classe com Singleton
- 6.4 Encapsulando lógica complexa de criação com Builder
- 6.5 Relacionando famílias de objetos com Abstract Factory
- 6.6 Considerações finais do capítulo
- 7 Modularidade
- 7.1 Fábrica dinâmica de objetos
- 7.2 Injeção de dependências
- 7.3 Service Locator
- 7.4 Service Locator versus Dependency Injection
- 7.5 Considerações finais do capítulo
- 8 Adicionando operações
- 8.1 Classes que representam comandos
- 8.2 Cenários de aplicação do Command
- 8.3 Double Dispatch - Me chama, que eu te chamo!
- 8.4 Padrão Visitor
- 8.5 Considerações finais do capítulo
- 9 Gerenciando muitos objetos
- 9.1 Criando uma fachada para suas classes
- 9.2 Separando código novo de código legado
- 9.3 Mediando a interação entre objetos
- 9.4 Reaproveitando instâncias com Flyweight
- 9.5 Considerações finais do capítulo
- 10 Indo além do básico
- 10.1 Frameworks
- 10.2 Utilizando tipos genéricos com os padrões
- 10.3 Padrões com Test-driven Development
- 10.4 Posso aplicar esses padrões na arquitetura?
- 10.5 Comunidade de padrões
- 10.6 E agora?
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 se concentram 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 se faz 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:
- 334
- ISBN:
- 978-85-66250-11-4
- Data publicação:
- 11/2012