Use a Cabeca Padroes e Projetos
28 pág.

Use a Cabeca Padroes e Projetos


DisciplinaPadrões de Projeto257 materiais511 seguidores
Pré-visualização11 páginas
83
O Simple Factory de\ufb01nido 85 
Franqueando a pizzaria 86
Deixando as sub-classes decidirem 87
Vamos criar uma PizzaStore 89
Declarando um método Factory 90
Finalmente chegou a hora de conhecer o Padrão Factory Method 95
Outra perspectiva: hierarquias de classes paralelas 95
Padrão Factory Method de\ufb01nido 97
Uma pizzaria muito dependente 99
Analisando as dependências dos objetos 100
O Princípio da Inversão de Dependência 100
Enquanto isso, de volta à PizzaStore... 104
Famílias de ingredientes... 105
Construindo as nossas fábricas de ingredientes 105
Retrabalhando as Pizzas 108
Padrão Abstract Factory de\ufb01nido 113
Comparação entre Factory Method e Abstract Factory 116
Ferramenta para a sua Caixa de Ferramentas de Projetos 118
Soluções dos exercícios 120
O Padrão Singleton
5 Objetos Únicos
O Padrão Singleton: o seu ingresso para criar objetos únicos, para os quais há apenas uma instância. Talvez você \ufb01que 
contente de saber que, de todos os padrões, o Singleton é o mais simples em termos do diagrama das suas classes; na 
verdade, o diagrama possui apenas uma classe! Mas não se sinta à vontade demais; apesar da sua simplicidade de um 
ponto de vista do design das classes, encontraremos algumas ondulações e alguns buracos na pista da sua implementa-
ção. Então aperte o cinto \u2013 este aqui não é tão simples quanto parece...
O Pequeno Singleton 127
Dissecando a implementação clássica do Padrão Singleton 128
Entrvista desta semana: Con\ufb01ssões de um Singleton 129
A Fábrica Chocolate 130
Padrão Singleton de\ufb01nido 132
Huston temos um problema... 132
Seja o JVM 133
Lidando com vários segmentos 134
Podemos melhorar os vários segmentos? 134
Ferramentas para sua caixa de ferramentas de projeto 138
Soluções dos Exercícios 141
O Padrão Command 
6 Encapsulando a Chamada de Métodos
Neste capítulo, levaremos o encapsulamento a um novo nível: vamos encapsular a chamada de métodos. É isso mesmo \u2013 
quando encapsulamos a chamada de métodos, podemos cristalizar partes da computação para que o objeto que está invocando 
esse processo não precise saber como as coisas são feitas. Ele só precisa usar o método cristalizado para executar a tarefa. 
O encapsulamento das chamadas de métodos também nos permite fazer algumas coisas muito engenhosas, como salvar os 
métodos encapsulados para \ufb01ns de registro ou reutilizá-los para implementar recursos de \u201cdesfazer\u201d no nosso código.
Automação doméstica ou But 144 
Hardware grátis! Vamos examinar o Controle Remoto\u2026 145
Examinando as classes de vendedor 145
Enquanto isso, de volta ao Restaurante\u2026 147
Uma breve introdução ao Padrão Command 147
Agora, vamos examinar mais detalhadamente a interação\u2026 148
Papéis e Responsabilidades no Restaurante Objetolândia 148
Do Restaurante ao Padrão Command 150
Nosso primeiro objeto de comando 151
Hershey, PA
X
De\ufb01nição do Padrão Command 154
De\ufb01nição do Padrão Command: o diagrama de classes 155
Implementando o Controle Remoto 156
Testando o Controle Remoto 158
E agora vamos conferir a execução do nosso teste do controle remoto\u2026 159
Chegou a hora de escrever aquela documentação\u2026 161
Hora de testar aquele botão \u201cRefazer\u201d! 164
Todo controle remoto precisa de um Modo de Festa! 167
Usando um macrocomando 168
Mais usos do Padrão Command: en\ufb01leirando solicitações 170
Mais usos do Padrão Command: registrando as solicitações 171
Ferramentas para sua caixa de ferramentas de projeto 172
Soluções dos Exercícios 175
Os Padrões Adapter e Facade
7 Como ser Adaptável
Neste capítulo, iremos tentar feitos tão impossíveis quanto colocar um objeto quadrado em um buraco redondo. 
Parece impossível? Não quando temos os Padrões de Projetos. Lembra-se do Padrão Decorator? Nós embrulhamos os 
objetos para dar a eles novas responsabilidades. Agora iremos embrulhar alguns objetos com um propósito diferente: 
fazer com que as suas interfaces aparentem ser algo que não são. Por que faríamos algo assim? Para podermos adaptar 
um projeto que espera uma determinada interface a uma classe que implementa uma interface diferente. E não é só 
isso: enquanto estamos com a mão na massa, veremos também um outro padrão que embrulha objetos para simpli\ufb01car 
as suas interfaces.
Estamos cercados de adaptadores 178
Adaptadores orientados a objetos 178
Explicando o Padrão Adapter 182
De\ufb01nindo o Padrão Adapter 183
Adaptadores de objetos e de classes 184
Adaptadores no mundo real 187
Adaptando uma Enumeração a um Iterator 187
E agora algo diferente... 190
Todo Mundo Quer um Home Theater 191
Luzes, Câmera e Fachada!