Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Use a Cabeça! - Padrões de Porjetos, Notas de estudo de Cultura

padroes e projetos

Tipologia: Notas de estudo

2012

Compartilhado em 30/09/2012

andre-dantas-8
andre-dantas-8 🇧🇷

4.8

(21)

6 documentos

1 / 489

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Pré-visualização parcial do texto

Baixe Use a Cabeça! - Padrões de Porjetos e outras Notas de estudo em PDF para Cultura, somente na Docsity!

Deu cérebro em padrões Ge pro) etos. eo NE 2º Edição E aç Revisada | Use a Cabeça! (Head First) Evite aqueles | embaraçosos erros de acoplamento Saiba por que tudo que seus amigos sabem sobre o padrão Factory provavelmente está errado Salve os padrões - importantes diretamente para o seu cérebro Descubra, € a ; segredos ao epa. dos Padrões Examine como o Café Starbuzz dobrou o preço das suas ações com o padrão Decorator == Veja como a vida | amorosa de Jim adnGioa quéndo ele reduziu sua herança Eric Freeman & Elisabeth Freeman com Kathy Sierra & Bert Bates. O Padrão Observer * Mantendo os seus Objetos informados Não durma no ponto quando algo interessante acontecer! Temos um padrão que mantém os seus objetos informados quando also que possa lhes interessar acontece. Os objetos podem até mesmo decidir, no momento da execução, se querem ser mantidos informados ou não. O Padrão Observer é um dos mais usados do JDK e é incrivelmente útil. Antes de terminarmos, “Eremos também as relações de um para muitos e o acoplamento solto (sim, isso mesmo, nós dissemos acoplamento). Com 0 Observer, você será a alma da Festa dos Padrões. A aplicação Monitoração do Tempo 52 Conheça o Padrão Observer 56 Editores + Assinantes = Padrão Observer 56 Cinco minutos de Teatro: um assunto para observação 59 O Padrão Observer definido 60 O poder da Ligação Leve 62 Desenvolvendo a Estação do Tempo 64 Implementando a Estação do Tempo 64 Usando o Padrão Observer do Java 69 Retrabalhando a Estação Metereológica 72 Ferramentas para a sua Caixa de Ferramentas de Projetos 16 . Soluções dos Exercícios 19 O Padrão Decorator > Decorando Objetos Chame este capítulo de “Olho de design para o garoto da herança”. Examinaremos novamente o típico uso excessivo da Herança e você aprenderá a decorar suas classes no tempo de execução usando uma forma de composição de objeto. Por quê? Depois que você descobrir as técnicas de decoração, poderá dar novas responsabilidades a seus objetos (ou de outra pessoa) sem ser nenhuma mudança de código nas classes básicas. Eu achava que homens de verdade subclassificavam tudo. Isso até eu aprender o poder da extensão no tempo de execução, em vez de no tempo de compilação. Olhe só para mim agora! Bem-vindo ao Café Starbuzz 82 O Princípio Aberto-Fechado 87 Siga o Padrão Decorator 88 Construindo um Pedido de Bebida com Decorators 88 O Padrão Decorator Definido 89 Decorando as nossas Bebidas 90 Escrevendo o código Starbuzz 93 Decorators no Mundo Real: Java I/O 97 Escrevendo o seu próprio Decorator Java I/O 98 Ferramentas para a sua Caixa de Ferramentas de Projetos 100 Soluções dos Exercícios 101 O Padrão Factory É. Cozinhando com a polpa da programação 00 Prepare-se para cozinhar alguns projetos OO com acoplamento solto. Para se criar objetos, é preciso mais do que apenas usar o operador new. Você aprenderá que a chamada é uma atividade que não deve ser feita sempre em público e pode fregiientemente levar a problemas de acoplamento. E você não quer que isso aconteça, quer? Descubra como os Padrões Factory podem ajudar a salvá-lo de dependências embaraçosas. Quando vir “new”, pense em “concreto” 104 O que há de errado com o new 105 Encapsulando a criação de objetos 106 Construindo uma fábrica simples de pizza 107 IX O Simple Factory definido 109 Franqueando a pizzaria 110 Deixando as sub-classes decidirem ql Vamos criar uma PizzaStore 113 Declarando um método de fábrica 114 Conheça o Padrão Factory Method 119 Hherarquias de Classes Paralelas 119 O Padrão Factory Method definindo 121 Uma PizzaStore muito dependente 123 Analisando as dependências dos objetos 124 O Princípio da Inversão da Dependência 124 Enquanto isso, de volta à PizzaStore... 128 Famílias de ingredientes... 129 Construindo as nossas fábricas de ingredientes 129 Observando a Abstract Factory 132 Nos bastidores 135 O Padrão Abstract Factory definido 137 Factory Method e Abstract Factory comparados 40 Ferramentas para a sua Caixa de Ferramentas de Projetos I42 Soluções dos Exercícios 144 O Padrão Singleton EE mis as «+ Objetos Unicos O Padrão Singleton: o seu ingresso para criar objetos únicos, para os quais há apenas uma instância. Talvez você fique 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 = este aqui não é tão simples quanto parece... Um e apenas um objeto 150 O Pequeno Singleton 151 Dissecando o Padrão Singleton clássico 152 Confissões de um Singleton 153 A Fábrica de Chocolate 154 O Padrão Singleton definido 156 vigrshes, RA 156 Frowuston, temos um problema... 157 SEJA o JVM 158 Lidando com vários segmentos 158 Podemos Melhorar os Vários Segmentos 162 Ferramentas para a sua Caixa de Ferramentas de Projetos 164 Soluções dos Exercícios 166 O Padrão Command b 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 — 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 fins de registro ou reutilizá-los para implementar recursos de “desfazer” no nosso código. Automação doméstica ou Bust 168 O Controle Remoto 169 Examinando as classes de vendedor 169 Enquanto isso, de volta ao Restaurante 171 Vamos estudar a interação do Restaurante 172 Os Papéis e Responsabilidades no Restaurante da Objetolândia 172 Do Restaurante ao Padrão Command 174 Usando o gancho 241 Fazendo um Test-drive 242 O Princípio Hollywood 244 O Princípio Hollywood e o Template Method 244 O Método Gabarito a Olho Nu 246 Ordenando dados com o Template Method 246 Temos alguns patos para ordenar 247 Comparando patos com patos 250 A contrução da máquina de ordenar patos 250 O Swing dos Quadros 251 “Applets 252 O assunto de hoje: Template Method e Strategy 259 Ferramentas para a sua Caixa de Ferramentas de Projetos 256 Soluções dos Exercícios 257 Os Padrões Iterator e Composite 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 itérar através dos seus objetos, você vai deixá-lo ver a sua implementação? Certamente esperamos que não! Isso simplesmente não seria profissional. Não se preocupe — 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. Fusão do Restaurante Objetolândia com a Panquecaria Objetolândia 260 Examinando os itens do Menu 260 Podemos encapsular a iteração? 265 Conheça o Padrão Iterator 267 Incorporando o Iterator ao Menu do Restaurante 268 Testando nosso código 270 Aprimorando o processo com O java.util.Iterator 213 Definindo o Padrão Iterator 216 Responsabilidade Única 278 Iterators e Coleções 285 lterators e Coleções em Java 5 286 Justamente quando achávamos que estava pronto. 289 Definindo o Padrão Composite 29] Redesenhando os Menus com é Padrão Composite 293 Implementando o Componente de Menu 294 Voltando ao Iterator 302 O Ierator Nulo 305 A mágica de Iterator & Composite juntos... 306 Ferramentas para a sua Caixa de Ferramentas de Projetos 310 Soluções dos Exercícios 311 O Padrão State f Do 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: “Repita comigo: eu sou bastante bom, eu sou bastante esperto, e isso é o que importa...” Quebra queixos em java SJA Curso elementar de máquinas de estado 315 Teste Preliminar 319 Você já estava prevendo isso... um pedido de modificação | S22 O ESTADO confuso das coisas... 323 XI Definindo as interfaces e classes Estado 325 Implementando as nossas Classes Estado 326 Refazendo a Máquina de Gomas 327 Definindo o Padrão State 334 State x Strategy 340 Quase nos esquecemos! 341 Ferramentas para a sua Caixa de Ferramentas de Projetos 943 Soluções dos Exercícios 344 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. Codificando o Monitor 350 O papel do “proxy remoto 352 Acrescentando um proxy remoto... 354 O desvio RMI 354 O proxy remoto nos bastidores 370 Definição do Padrão Proxy 372 Prepare-se para o proxy virtual 373 Projetando o proxy virtual para capa de CD 374 O proxy virtual nos bastidores 378 Usando o proxy da API Java 381 Peça teatral em cinco minutos: a proteção dos objetos 383 Criando um proxy dinâmico 384 O Zoológico dos Proxies 390 Ferramentas para a sua Caixa de Ferramentas de Projetos 392 Soluções dos Exercícios 393 Padrões Compostos 42 Padrões de Padrões Quem poderia adivinhar que os Padrões conseguem trabalhar juntos? Tendo presenciado as exaltadas Conversas ao Pé do Fogo (e você ainda nem viu as páginas do Combate Mortal entre Padrões, que o editor nos forçou a remover do livro), você certamente não imaginaria que ocasionalmente os padrões podem até conviver em paz. Bem, acredite ou não, alguns dos esquemas mais poderosos da programação orientada a objetos baseiam-se na utilização simultânea de vários padrões. Portanto, prepare-se para subir mais um degrau no seu domínio dos padrões: chegou a hora dos padrões compostos. Mas cuidado — os seus colegas podem ter que sacrificá-lo se você pegar a Febre dos Padrões Trabalhando Juntos 398 Reunião de patos 398 O que nós fizemos? 417 Visão panorâmica: o diagrama de classes 418 O Rei dos Padrões: Canção Modelo-Vizualização-Controlador 420 Os Padrões de Projetos são a sua chave para o MVG 421 Examinando o MVG através de lentes coloridas por padrões 424 Usando o MVC para controlar a batida... 426 Conheça a Visualização do Java DJ 426 A Visualização 429 E agora o Controlador 432 Explorando a estratégia 435 Adaptando o modelo 435 Agora estamos prontos para um HeartController 436 MVC e a Internet 438 Use a Cabeça Padrões de Projeios A quem se destina este livro? Você provavelmente se dorá bem se souber CX em vez Se voce responder “sim” a todas estas perguntas: Pei de Jeva. Voce sabe algo de Java? (Não é necessário ser um especialista.) Voce deseja aprender, entender, se lembrar e aplicar os padrões de projetos, incluindo os princípios de design OO sobre os quais os padrões se baseiam? G)Voce prefere uma conversa informal estimulante a aulas academicas secas e chatas? então este livro é para você. Quem provavelmente deve evitar este livro? Se voce responder “sim” a qualquer uma destas perguntas: Pp Voce é totalmente iniciante em Java? (Não é preciso ser um conhecedor avançado e, mesmo se você não souber Java mas souber C4, provavelmente entenderá pelo menos 80% dos exemplos de código. Também é possível que você se de bem tendo um background apenas em C++.) ocê é um designer/desenvolvedor OO experiente procurando um livro de referencia? Voce é um arquiteto procurando por padrões de projetos corporativos? Voce tem medo de experimentar algo novo? Voce prefere fazer um tratamento de canal a misturar uma camisa verde com uma gravata cor-de-rosa? Voce não acredita que um livro técnico no qual os componentes são antropomorfizados possa ser sério? £ então este livro não é para voce. E Es á inota do departamento de ; merkerno: este livro E coequcco 4 Ea =» ie que SEnDA Ma paro quelquer E Tuta E coríio Ce creGito Sabemos o que você está pensando. “Como isso agui pode ser um livro de programação sério?” “Pra que tantos desenhos?” “E realmente possível aprender desta forma?” eu cérebro acha me Lai é E sabemos o que o seu cérebro está pensando. / O seu cérebro tem sede de novidades. Ele está sempre buscando, atento, esperando por algo fora do comum. Ele foi feito assim, e isso o ajuda a sé manter vivo. Hoje em dia, é menos provável que você acabe virando o lanche de algum tigre. Mas o seu cérebro continua em alerta. Nunca se sabe. Então o que o seu cérebro faz com todas as coisas rotineiras, comuns e normais que encontra? Tudo o que puder para impedir que elas mterfiram com verdadeiro trabalho do cérebro - registrar as coisas que são importantes. Ele não se dá ao trabalho de armazenar as coisas chatas; elas nunca passam pelo filtro “isto obviamente não é importante”. Como o seu cérebro sabe o que é importante? Suponha que você saia para uma caminhada é um tigre pule na sua frente, o que acontece dentro da sua cabeça e do seu corpo? Os neurônios disparam. As emoções aumentam. Os elementos químicos borbulham, E é assim que o seu cérebro sabe que... XVI Use a Cabeça Paúries da Proinios Pa Metacognição: pensando sobre o pensamento Gostaria de saber “como fazer o meu f cérebro se lembrar de | tudo isto... E Se você realmente deseja aprender, e quer aprender mais rápido é mais ço profundamente, preste atenção em como você presta atenção. Pense sobre como você pensa. Aprenda sobre como voce aprende. Muitos de nós não tivemos aulas sobre metacognição ou sobre teoria da aprendizagem quando éramos estudantes. Esperava-se que nós aprendessemos, mas raramente nos ensinavam a aprender. Mas nós presumimos que, se você está lendo este livro, é porque realmente deseja aprender os padrões de projetos. E voce provavelmente não deseja gastar muito tempo. É quer se lembrar do que le e ser capaz de aplicálo. E, para isso, voce tem que entender o que leu. Para tirar o máximo proveito deste livro, ou de qualquer livro ou experiencia de aprendizado, tome as rédeas do seu cérebro. Faça-o se concentrar no conteúdo. O segredo é fazer o seu cérebro ver o novo material que voce está aprendendo como Realmente Importante. Crucial para o seu bem-estar. Tão importante quanto um tigre. Caso contrário, voce acabará em uma batalha constante com o seu cérebro fazendo o melhor que puder para impedir que o novo conteúdo seja registrado. Então COMO você faz o seu cérebro pensar que os Padrões de Projetos são tão importantes quanto um tigre? Existe a maneira lenta é tediosa e a maneira mais rápida e mais efetiva. A maneira lenta refere-se í repetição exaustiva. Você obviamente sabe que é capaz de aprender e memorizar até mesmo o assunto mais enfadonho, sé sé mantiver batendo na mesma tecla. Repetindo o suficiente, o seu cérebro diz: “Isto não parece importante, mas ele fica olhando a mesma coisa repetidas e repetidas vezes, então eu suponho que deve ser.” A maneira mais rápida é fazer qualquer coisa que aumente a atividade cerebral, especialmente aumentando diferentes tipos de atividades cerebrais. As coisas que voce viu na página anterior são uma grande parte da solução, é elas são todas coisas que comprovadamente ajudam o seu cérebro a trabalhar em seu favor. Por exemplo, estudos mostram que colocar palavras dentro das figuras que elas descrevem (em vez de em algum outro lugar da página, como em uma legenda ou no corpo do texto) faz o seu cérebro tentar perceber em que sentido as palavras e a figura se relacionam, e isso faz disparar mais neurônios. Mais neurônios disparados = maior a chance de o seu cérebro perceber que isto é algo que vale a pena prestar atenção e possivelmente armazenar. Um estilo conversacional ajuda porque as pessoas tendem a prestar mais atenção quando percebem que estão em uma conversa, porque nessa situação espera-se que elas sigam o que está sendo dito e mantenham o seu lado da conexão ativo. O incrível é que o seu cérebro não necessariamente se importa sé a “conversa” é entre voce e um livro! Por outro lado, se o estilo de escrita for formal e seco, o seu cérebro o percebe da mesma forma como percebe quando voce está ouvindo uma aula, sentado em uma sala cheia de alunos passivos. Não é preciso ficar acordado. Mas figuras e estilo conversacional são apenas o início. Eae RE A 4 oc Eis o que NOS fizemos: ea " f nc . a CA Pego “pa , o Objeto Cachorro Rd Via seca ÇÕo : a da e re K Usamos figuras, porque o seu cérebro está ajustado para Objeto Subject nã MME A é Ho , aa * * = “ia ! E E ? A inagens, e não texto. No que diz respeito ao seu cérebro, uma ad ud - Rodo : : re. Objeto Pato Re É imagem realmente vale por 1.024 palavras. E, nos casos em que / a em e : x E ! x f : E a E F texto e imagens trabalham juntos, nós inserimos o texto nas lo, ! 4 Ho r á E ex é gun É imagens, porque o seu cérebro trabalha de modo mais eficaz So quando o texto se encontra dentro da coisa a que se refere, em vez de x em uma legenda ou enterrado em alguma parte do texto. xvin Como usar este livro Usamos a redundância, dizendo a mesma coisa de diferentes formas e com diferentes tipos de mídia, e com múltiplos sentidos, para aumentar a chance de o conteúdo ser codificado em mais de uma área do seu cérebro. Usamos conceitos e imagens de formas inesperadas, porque o seu cérebro está ajustado para captar novidades, e usamos imagens e idéias com pelo menos algum conteúdo emocional, porque o seu cérebro está ajustado para prestar atenção na bioquímica das emoções. Aquilo que o faz sentir algo tem maior probabilidade de ser lembrado, mesmo se o sentimento não passar de um pouco de : humor, surpresa ou interesse. O Guru dos Padrões Usamos um estilo personalizado, conversacional, porque o seu cérebro está ajustado para prestar mais atenção quando acredita que você está em uma conversação do que quando pensa que voce está ouvindo passivamente uma apresentação. Seu cérebro faz isso mesmo quando voce está lendo. Incluímos mais de 40 atividades, porque o seu cérebro está ajustado para aprender e memorizar mais quando voce faz coisas do que quando voce le sobre as coisas. E fizemos os exercícios desafiadores, porém solucionáveis, porque é isso que a maioria das pessoas prefere. Usamos múltiplos estilos de aprendizado, porque voce poderia preferir procedimentos passo-a- passo, enquanto outra pessoa pode desejar entender o geral primeiro, é uma outra poderia apenas Pontos Importantes querer ver um exemplo de código. Porém, independentemente da sua preferencia em termos de aprendizado, todos se beneficiarão de ver o mesmo conteúdo representado em múltiplas maneiras. Incluímos conteúdo para ambos os hemisférios do cérebro, porque, quanto mais do seu cérebro você ativa, maior a probabilidade de voce aprender e memorizar, é maior o tempo durante o qual voce pode se manter concentrado. Uma vez que trabalhar apenas um lado do cérebro frequentemente significa dar ao outro lado uma chance para descansar, voce pode ter maior produtividade no aprendizado por um período de tempo maior. É incluímos histórias e exercícios que apresentam mais de um ponto de vista, porque o seu cérebro está ajustado para aprender com mais profundidade quando é forçado a fazer avaliações e julgamentos. Quebra-cabeças Incluímos desafios, com exercícios e fazendo perguntas que nem sempre tem uma resposta direta, porque o seu cérebro está ajustado para aprender e memorizar quando precisa trabalhar em algo. Pense no seguinte: não é possível ficar em forma apenas olhando as pessoas na academia de ginástica. Mas fizemos o nosso melhor para nos certificarmos de que voce estará trabalhando duro, e nas colsas certas. Que voce não está gastando uma dendrite extra para processar um exemplo dificil de entender, ou “traduzindo” um texto dificil, cheio de jargão ou exageradamente conciso. Usamos pessoas em histórias, exemplos, figuras etc., porque, bem, porque voce é uma pessoa. E o seu cérebro presta mais atenção em pessoas do que em coisas. Usamos uma abordagem 80/20. Partimos do princípio de que, caso voce vá tentar um PhD em projeios de software, este não val ser o seu único livro. Assim, não falamos sobre tudo. Apenas sobre as coisas que voce de fato irá usar. Eis o que VOCÊ pode fazer para obrigar seu cérebro a obedecê-lo OK, fizemos a nossa parte. O resto depende de voce. Estas dicas são um ponto de partida; escute o seu cérebro e descubra o que funciona para voce e o que não funciona. Experimente coisas novas. XIX Como usar este livro nos certificarmos de que voce realmente, smceramente, profundamente entenda como e quando usá-los. Voce encontrará uma breve menção a alguns dos outros padróes (os muito menos prováveis que você vá usar) no apendice. Em todo caso, depois de terminar o Use a Cabeça! Padrões de Projetos, você será capaz de pegar qualquer catálogo de padrões e entrar em ação rapidamente. As atividades NÃO são opcionais. Os exercícios e as atividades não são adicionais; eles fazem parte do conteúdo central do livro. Alguns deles servem para ajudar a memorizar, outros a entender, e alguns para ajudá-lo a aplicar o que você aprendeu. Não pule os exercícios. As palavras cruzadas são as únicas coisas que voce não precisa fazer, mas são boas para dar ao seu cérebro uma chance de pensar sobre as palavras a partir de um contexto diferente. Usamos a palavra “composição” no sentido OO geral, que é mais flexível do que o uso estrito de “composição” em UML. Quando dizemos que “um objeto é composto com outro objeto”, queremos dizer que eles se relacionam de forma TEM-UM. O nosso uso reflete o uso tradicional do termo e é o mesmo empregado no texto GoF (voce aprenderá o que é isso mais tarde). Mais recentemente, a UML refinou esse termo em vários tipos de composição. Se for um expert em UML, ainda assim voce poderá ler o livro e deverá ser capaz de mapear facilmente o uso de composição para os termos mais refinados, * medida que for lendo. A redundância é intencional e importante. Uma diferença distinta em um livro Use a Cabeça! é que queremos que voce realmente entenda. E queremos que voce termine o livro lembrando-se do que aprendeu. A maioria dos livros de referencia não tem a retenção e a lembrança como objetivo, mas este livro é sobre aprendizado, então voce verá alguns conceitos aparecerem mais de uma vez. Os exemplos de códigos são os mais enxutos possíveis. Os nossos leitores nos dizem que é frustrante percorrer 200 linhas de código procurando as duas linhas que eles precisam entender. A maioria dos exemplos deste hvro é mostrada dentro do menor contexto possível, para que a parte que voce está tentando aprender esteja clara e simples. Não espere que todo o código seja robusto, ou mesmo completo - os exemplos são escritos especificamente para o aprendizado, e não são sempre totalmente funcionais. Em alguns casos, não imeluímos todos os comandos import necessários, mas presumimos que, se voce é um programador de Java, voce saberá que ArrayLast se encontra em java.util, por exemplo. Quando o conteúdo importado não fizer parte da API J2SE normal, nós o mencionaremos. Também: colocamos todo o código-fonte na web, para que voce possa baixá-lo. Voce o encontrará em http://www.altabooks.com.br Além disso, para nos concentramos na questão do aprendizado do código, não colocamos as nossas classes em pacotes (em outras palavras, elas estão todas no pacote padrão Java). Não recomendamos isso no mundo real, e, quando você baixar os exemplos de códigos deste livro, verá que todas as classes estão em pacotes. Os exercícios “Poder da Mente” não têm respostas. Para alguns deles, não há uma resposta certa; para outros, parte da experiencia de aprendizado das atividades Poder da Mente requer que você decida se e quando as suas respostas estão corretas. Em alguns dos exercícios Poder da Mente, você encontrará dicas para lhe apontar a direção correta. XXI Use a Cabeça “alrões de Proctos Revisores Técnicos fpaito + É io di, “nertin Creta Sorney fa Pispive Tee Van Alias e quibe medica dos Revisares da UCFE Dr Gomeckment O seu impressionante conhecimento técnico, seu entusiasmo inacabável e a sua profunda preocupação com o leitor sempre irão nos inspirar, Nunca te esqueceremos. Philinpa Miaques Agradecimentos Na O'Reilly: O nosso muito obrigado a Mike Loukides da O"Reilly, por ter começado tudo é ajudado a dar forma ao conceito Use a Cabeça!, transformando-o em uma série. E um grande obrigado ao motor por trás da série Use à Cabeça!, Tim O"Reilly. Obrigado í inteligente “mamãe da série” Use a Cabeça! Kyle Hart, f estrela do rock and roll Elle Volkhausen pelo seu inspirado desenho da capa e também a Colleen Gorman pela sua infalível preparação dos originais. Finalmente, obrigado a Mike Hendrickson por “vestir a camisa” deste livro de Padrões de Projetos e por ter criado a equipe. XxI Use a Cabeça Pacirões de Proletos De Kathy e Bert Gostaríamos de agradecer a Mike Hendrickson por encontrar Eric e Elisabeth... mas não podemos. Por causa desses dois, nós descobrimos (para o nosso horror) que não somos os únicos capazes de escrever um livro Use à Cabeça!.;) Porém, se os leitores quiserem acreditar que foram realmente a Kathy e o Bert que fizeram as coisas legais do livro, bem, quem somos nós para corrigir os leitores? XXIV “O grande número de agradecimentos se deve ao fato de estarmos testando a teoria de que todas as pessoas mencionadas em uma hsta de agradecimentos de um livro comprarão pelo menos uma cópia, e provavelmente mais, com os parentes e tudo o mais. Se você quiser estar na lista de agradecimentos do nosso próximo livro e tiver uma grande família, escreva para nós. 1 Introdução aos Padrões de Projetos Bem-vindo aos Padrões de Projetos Agora que estamos morando em Objectvilie, temos que entrar nos Padrões de Projetos... todo, mundo está fazendo isso, Logo, seremos a sensação do grupo de padrões de Jim e Betty nas quartas-feiras anoite! ) Alguém resolveu seus problemas. Neste capítulo, você saberá por que (e como) pode explorar o conhecimento e as lições aprendidas por outros desenvolvedores que tiveram o mesmo problema de design e sobreviveram. Antes de terminarmos, vamos analisar o uso e os benefícios dos padrões de projetos, ver alguns princípios importantes de design OO e dar um exemplo de como um padrão funciona. A melhor maneira de usar os padrões é carregar seu cérebro com eles e depois reconhecer locais em seus designs e aplicativos existentes onde eles possam ser aplicados. Em vez da reutilização de código, com os padrões você obtém a reutilização de experiência.