Use a Cabeca Padroes e Projetos
28 pág.

Use a Cabeca Padroes e Projetos


DisciplinaUml51 materiais355 seguidores
Pré-visualização11 páginas
193
Construindo a fachada do seu home theater 194
De\ufb01nição do Padrão Facade 196
O Princípio do Conhecimento Mínimo 197
Ferramentas para sua caixa de ferramentas de projeto 201
Soluções dos Exercícios 203
O Padrão Template
8 Encapsulando Algoritmos
Já encapsulamos a criação de objetos, métodos, interfaces complexas, patos, pizzas... o que virá depois? Vamos en-
capsular algoritmos para que as subclasses possam se conectar diretamente a uma computação a qualquer momento que 
quiserem. Iremos aprender até mesmo um princípio de projetos inspirado em Hollywood.
Preparando algumas classes de café e chá (em Java) 206
Senhor, posso abstrair seu Café e seu Chá? 208
Aprimorando o projeto\u2026 209
Abstraindo prepareRecipe() 209
O que nós \ufb01zemos? 212
Conheça o Template Method 212
Vamos fazer um pouco de chá\u2026 213
O que o Template Method pode fazer por nós? 214
De\ufb01nindo o Padrão Template Method 214
Singlet
on \u2013 V
erifique
 se um
a class
e tem 
apenas
 uma ins
tância e
 forneça
 um pon
to globa
l 
de aces
so a ela
.
Tomada de 
Parede Européia
Adaptador 
para CA
Pino 
Americano 
para CA
XI
Aproveitando o gancho do Template Method\u2026 216
Usando o gancho 217
Fazendo um test-drive 218
O Princípio Hollywood 220
O Princípio Hollywood e o Template Method 220
Como Reconhecer um Template Method a Olho Nu 222
Ordenando dados com o Template Method 222
Temos alguns patos para ordenar\u2026 223
Comparando Patos com Patos 224
A construção da máquina de ordenar patos 226
O Swing dos Quadros 227
Applets 228
No debate desta noite, Template Method e Strategy comparam métodos 229
Ferramentas para sua caixa de ferramentas de projeto 232
Soluções dos Exercícios 233 
 
Os Padrões Iterator e Composite
9 Coleções bem gerenciadas
Existem várias maneiras de inserir objetos em uma coleção. Colocá-los em um Array, um Stack, uma Lista, um Mapa... você 
escolhe. Cada um tem as suas vantagens e desvantagens. Mas, quando o seu cliente quiser iterar através dos seus objetos, você vai 
deixá-lo ver a sua implementação? Certamente esperamos que não! Isso simplesmente não seria pro\ufb01ssional. Não se preocupe 
\u2013 neste capítulo você verá como permitir aos seus clientes iterar através dos seus objetos sem jamais verem como você armazena 
os objetos. Você aprenderá também como criar super coleções de objetos capazes de saltar sobre algumas estruturas de dados 
impressionantes em uma única passada. Você aprenderá também algumas coisas sobre a responsabilidade dos objetos.
Notícias: Fusão do Restaurante Objetolândia com a Panquecaria Objetolândia 236
Examinando os Itens do Menu 236
Podemos encapsular a iteração? 241
Conheça o Padrão Iterato 243
Incorporando o Iterador ao Menu do Restaurante 244 
Testando o nosso código 246 
Aprimorando o processo com java.util.Iterator 249 
De\ufb01nindo o Padrão Iterator 252
Responsabilidade Única 254
Examinando o Menu do Café 256
Iteradores e Coleções 261
Iteradores e Coleções em Java 5 262
Justamente quando achávamos que estava pronto... 265
De\ufb01nindo o Padrão Composite 267
Redesenhando os Menus com o Padrão Composite 269
Implementando o Componente de Menu 270
Implementando o Item de Menu 271
Voltando ao Iterator 278
O Iterador Nulo 281
A mágica de Iterator & Composite juntos... 282
Ferramentas para sua caixa de ferramentas de projeto 286
Soluções dos Exercícios 287
O Padrão State
10 O Estado das Coisas
Um fato pouco conhecido: os Padrões State e Strategy são irmãos gêmeos que foram separados ao nascer. Como você 
sabe, o Padrão Strategy acabou se dando muito bem no negócio dos algoritmos intercambiáveis. O Padrão State, por 
sua vez, tomou o caminho talvez mais nobre de ajudar objetos a controlarem seu comportamento através de mudanças 
no seu estado interno: \u201cRepita comigo: eu sou bastante bom, eu sou bastante esperto, e isso é o que importa\u2026\u201d.
Quebra queixos em java 314
Curso elementar de máquinas de estado 315
Escrevendo o código 293
Teste preliminar 295
Você já estava prevendo isto\u2026 um pedido de modi\ufb01cação! 298
XII
O ESTADO confuso das coisas 299
De\ufb01nindo as interfaces e classes 301
Implementando as nossas classes de estados 302
Refazendo a Máquina de Goma 303
De\ufb01nindo o Padrão State 310
Strategy x State 316
Quase esquecemos! 317
Ferramentas para sua caixa de ferramentas de projeto 320
Soluções dos Exercícios 320
O Padrão Proxy 
11 Controlando o Acesso de Objetos
Já brincou de tira bonzinho e tira malvado? Você é o tira bonzinho e fornece todos os seus serviços de forma agradável 
e amistosa, mas você não quer que todo mundo peça os seus serviços, então você faz o tira malvado controlar o acesso a você. 
É isso que os proxies fazem: controlam e gerenciam o acesso. Como você verá, existem várias maneiras pelas quais os 
proxies substituem os seus respectivos objetos. Os proxies têm a fama de carregar chamadas a métodos inteiros através 
da Internet para os objetos que substituem; eles também têm a fama de pacientemente substituir alguns objetos bem 
preguiçosos.
Codi\ufb01cando o Monitor 326
O papel do \u201cproxy remoto\u201d 328
Acrescentando um proxy remoto ... 330
Curso básico de métodos remotos 330
Vista Panorâmica do RMI de Java 333
De\ufb01nindo o Padrão Proxy 348
Prepare-se para o Proxy Virtual