Você está na página 1de 489
2 Edigao Revisada Use a Cabega! (Head First) Padroes de Projetos a \ @esign Patterns) Evite aqueles Saiba por que tudo que seus embaragosos | amigos sabem sobre o erros de padréo Factory acoplamento provavelmente esté errado : ¢ + Salve os padrées 4 importantes diretamente para o seu cérebro Descubra os segredos do Guru dos Padrées i Examine como o Café Starbuzz dobrou © prego das suas agées com o padrao Decorator Veja como a vida | amorosa de Jim melhorou quando ele reduziu sua | heranga Use a Cabeca! Padroes de Projetos @esign Patterns) ‘Ni sia maravihese se howesse Lm ive sobre Pocras de Projetoe (ue Fosse mate aver Eric Freeman Elisabeth Freeman com Kathy Sierra Bert Bates Tabela de Contetido (sumério) Introdugio xv 1. Bem-vindo aos Paclres de Projetos: wna sntraducda 25 2 Mantendo os scus Objetos atualizados: o Pudiio Olserver 51 3 Decorando Objetos: 0 Paavo Decorator 81 4 Cozinhando com a polpa dla programagio OO: o Padrdo Factory 103 5 Objetos Unicos: o Faro Singicton 149 6 Encapsslando a Chamada de Métodos: o Padiiio Command 167 7 Como Ser Adaptivel ax padres Adapir « Facade 201 8 Encapsulando Algoritmos: o Padrio Template Method 229 9 Goleches bein adhininistradas: as Padvées Herador & Composite 259 10.0 Estado das Goisas: 0 Padrio Stale 313 11 Controlando © Acesso de Objetos: 0 Padriio Proxy 349 12. Padroes de Padroes: Pardes Compostos 397 13. PadSes no Mundo Real: Vrsendo Melhor com os Padres 459 MM Apendice: Padries Restanes 485 Tabela de Contetido (de verdade) Introdugéo ‘Sua mente concentrada nos Padres de Projetos, Aqui ve esta tentando aprender algo, enquanto o seu cévobvo estalle fazendlo ‘um favor certificando-se de que o aprendizado nao se manterd. Sen cérebro esté pensando: “é melhor deixar espaco para coisas Imaisimportantes, como quais animais selvagens evitare fazer esqui na neve pelado € uma md ida”, Entdio, como voce engana seu eérebro para faré-lo pensar quea sua vida depende de aprender os Padres de Projetos? ‘A quem se destina este Evra? 16 Sabemos o que o seu oérebro esté pensando 16 Metacognicio 18 Fag 0 seu cérebro obedeot-lo 19 Revisores téenicos at Agradecimentos 22 Introdugiio aos Padres de Projetos ‘1 Bom-vindo aos Padrées de Projetos Alguém jé resolveu os seus problemas. Neste capitulo, vocé aprenclerd por que (e como) pode se aproveitar da sabedoria e das ligGes aprendlidas por outros desenvolvedores que tenham passado pelo mesmo campo minado dos problemas de projetos e tenham sobrevivido a viagem. Antes de terminarmos, veremos 0 uso ¢ os beneficios dos padres de projetos, veremos alguns prinefpios chaves dos projetos OO, ¢ 0 guiaremos através de um exemplo de como um padvio funciona. Amelhor maneira de ‘usar os padres & caregando-os no seu cérebro e depois reconhecendo lugares de seu projeto ¢ das suas aplicacdes existentes onde pode aplizi-los. Em vez de reutilizacio de cédigo, com padrées vocé tem uma teutilizagao de experiéncia Lembre-se: conhecer conceitos como abstragio, heranca ¢ polimorfismo nao 6 torna um bom projetista orientado a objetos. ‘Um guru dos projetos pensa sobre como criar projetos flexiveis que sejam faceis de manter e modificar, Comegou com um simples aplicativo SimUDuck 26 Joe pensa na heranga.. 25 (Que tal uma interface? 28 A. constante no desenvolvimento de software 30 Separando o que muda do que permanece igual 31 Descnvolvendo os comportamentos Duck 2 Testando 0 cédigo Duck a Configurando o comportamento de forma dinamica 30 {Uma Visio Geral dos comportamentos encapsulados 40 TTEN-UM pode ser melhor do que E-UM 41 © Paro Estrategia 2 © poder de um vocabulisio de padrées compartiado 5 Como usar 08 Padrbes de Projtos? 5 Ferramentas para sua Caisa de Rerramentas de Proetos a7 Solugies dos Exerticos 30 vw