Corepatterns Free(DesignPattern)

  • View
    43

  • Download
    1

Embed Size (px)

Text of Corepatterns Free(DesignPattern)

33 design-patterns aplicados com JavaVinicius Senger e Kleber XavierndicePoltica de uso do materialEste material foi cedido para a comunidade de desenvolvimento de software brasileira. Nopermitimos seu uso por empresas de treinamento para fornecer treinamento, esta a nica restrio! Queremos colaborar com a comunidade e sabemos que se o material for totalmente liberado, empresas sem nenhum domnio do assunto iro tentar vender desonestamente treinamentos associado a este contedo e sabemos que a comunidade vaisair prejudica, alm de toda nossa rede de parceiros no Brasil.Esperamos que vocs aproveitem este contedo incrvel que vem por mais de duas dcadas ajudando diferentes tecnologias de desenvolvimento de software e linguagens orientadas a objetos a melhorarem a qualidade e forma das suas classes e objetos.Este material foi escrito por Vinicius Senger e Kleber Xavier e est registrado na biblioteca nacional. Sua venda proibda e aes severas sero tomadas em caso de pirataria ou uso indevido em publicaes.Agradecemos a todos a compreenso e j estamos trabalhando em um projeto para transformar este contedo emumwiki, assimpoderemosreceber diferentescolaboraesdetodosvocs, principalmenteparatermos exemplos de cdigo com outros linguagens!Obrigado novamente,Vinicius SengerFundador GlobalcodeAutor principal deste materialCopyright 2009 Globalcode No permitido uso para venda de treinamentos no GlobalcodeCP Core Patterns1 Introduo............................................................................................................................................. 9 1.1 Pr-requisitos do curso..................................................................................................................................... 9 2 Modelagem de software..................................................................................................................... 13 2.1 Anlise orientada a objetos............................................................................................................................. 13 2.1.1 Classes e Objetos..................................................................................................................................... 13 2.1.2 Abstrao .................................................................................................................................................. 14 2.1.3 Encapsulamento....................................................................................................................................... 15 2.1.4 Construtores............................................................................................................................................. 16 2.1.5 Herana................................................................................................................................................... 16 2.1.6 Classes abstratas e nterfaces................................................................................................................. 16 2.1.7 Polimorfismo............................................................................................................................................. 17 2.1.8 Coeso..................................................................................................................................................... 17 2.1.9 Acoplamento............................................................................................................................................. 19 2.1.10 Princpios bsicos para projeto e anlise orientados a objetos .............................................................. 19 2.2 ntroduo a UML ............................................................................................................................................ 21 2.2.1 UML e Metodologias de desenvolvimento de software............................................................................. 22 2.2.2 Principais diagramas da UML................................................................................................................... 23 2.3 Arquitetura fsica Vs. Arquitetura lgica .......................................................................................................... 31 3 Introduo a design patterns ............................................................................................................ 35 3.1 Conceitos fundamentais .................................................................................................................................. 35 3.2 Descrio de um pattern................................................................................................................................. 38 3.3 Anti-pattern ...................................................................................................................................................... 39 4 esign patterns !o" .......................................................................................................................... 43 4.1 Singleton Criao......................................................................................................................................... 45 4.1.1 Anti-pattern............................................................................................................................................... 45 4.1.2 Aplicando o design pattern....................................................................................................................... 45 4.1.3 Consideraes sobre inicializao........................................................................................................... 47 4.1.4 Herana com Singleton ............................................................................................................................ 48 4.1.5 Singleton Vs. Static................................................................................................................................... 48 4.1.6 Singleton "si pero no mucho ................................................................................................................... 49 4.1.7 Estrutura e Participantes .......................................................................................................................... 50 4.2 Command Comportamento .......................................................................................................................... 51 4.2.1 Anti-pattern............................................................................................................................................... 51 4.2.2 Aplicando o design pattern....................................................................................................................... 52 4.2.3 Command e Factory................................................................................................................................. 52 4.2.4 Command e sistemas de desfazer / refazer (undo / redo) ........................................................................ 53 4.2.5 Estrutura e Participantes .......................................................................................................................... 53 4.3 Factory Method Criao............................................................................................................................... 54 4.3.1 Anti-pattern............................................................................................................................................... 55 4.3.2 Aplicando o design pattern....................................................................................................................... 56 4.3.3 Factory Method Esttico........................................................................................................................... 57 4.3.4 Factory Method Dinmico......................................................................................................................... 58 Copyright 2009 Globalcode The Developers Company, todos os direitos reservadosndice4.3.5 Factory e reuso de objetos....................................................................................................................... 59 4.3.6 Factory Method e outros design patterns................................................................................................. 59 4.3.7 Estrutura e Participantes .......................................................................................................................... 59 4.4 Abstract Factory Criao .............................................................................................................................. 61 4.4.1 Anti-pattern............................................................................................................................................... 61 4.4.2 Aplicando o design pattern....................................................................................................................... 61 4.4.3 Estrutura e Participantes .......................................................................................................................... 66 4.5 Laboratrio 1................................................................................................................................................... 67 4.6 Template Method Comportamento.............................................................................................................. 68 4.6.1 Anti-pattern............................................................................................................................................... 68 4.6.2 Aplicando o design pattern....................................................................................................................... 69 4.6.3 O padro Template Method nas APs do Java......................................................................................... 71 4.6.4 Estrutura e Participantes .......................................