Orientação a Objetos e
                   Design Patterns
                            construindo melhor seu software




Tuesday, September 13, 11
Orientação a Objetos e
                   Design Patterns
                            construindo melhor seu software




Tuesday, September 13, 11
@vquaiato
                       (vinicius quaiato)
                            programador
                             palestrante
                                  pai
                               santista
                              entusiasta
                              consultor
                             etc, etc, etc




Tuesday, September 13, 11
@vquaiato
                       (vinicius quaiato)

       http://viniciusquaiato.com
          http://crafters.com.br


    vinicius.quaiato@gmail.com




Tuesday, September 13, 11
um blog



Tuesday, September 13, 11
um podcast



Tuesday, September 13, 11
uma comunidade



Tuesday, September 13, 11
um(ns) evento



Tuesday, September 13, 11
um(ns) evento



Tuesday, September 13, 11
começando




Tuesday, September 13, 11
fazer software não é
                           fácil



Tuesday, September 13, 11
bons projetos de
              software, reutilizáveis,
               são ainda mais difíceis



Tuesday, September 13, 11
solução spaguetti




Tuesday, September 13, 11
difícil de manter




Tuesday, September 13, 11
difícil de evoluir




Tuesday, September 13, 11
difícil de trabalhar




Tuesday, September 13, 11
e a vida fica triste




Tuesday, September 13, 11
Tuesday, September 13, 11
existe uma luz




Tuesday, September 13, 11
orientação a objetos




Tuesday, September 13, 11
paradigma de
                            programação



Tuesday, September 13, 11
Tuesday, September 13, 11
estilo de programação




Tuesday, September 13, 11
existem muitos
                                estilos



Tuesday, September 13, 11
existem muitos
                                estilos


      Funcional


Tuesday, September 13, 11
existem muitos
                                estilos

                                 Lógica
      Funcional


Tuesday, September 13, 11
existem muitos
                                estilos

                                 Lógica
      Funcional

                                     Estruturada
Tuesday, September 13, 11
existem muitos
                                estilos

                                 Lógica
      Funcional                               Procedural
                                     Estruturada
Tuesday, September 13, 11
existem muitos
                                estilos

                                 Lógica
      Funcional                                 Procedural
                                       Estruturada
                  Orientada a Objeto
Tuesday, September 13, 11
Tuesday, September 13, 11
conceitos chave




Tuesday, September 13, 11
classes




Tuesday, September 13, 11
objetos




Tuesday, September 13, 11
#1




Tuesday, September 13, 11
#1




Tuesday, September 13, 11
estado




Tuesday, September 13, 11
Tuesday, September 13, 11
comportamento




Tuesday, September 13, 11
Tuesday, September 13, 11
encapsulamento




Tuesday, September 13, 11
Tuesday, September 13, 11
herança




Tuesday, September 13, 11
Tuesday, September 13, 11
Tuesday, September 13, 11
polimorfismo




Tuesday, September 13, 11
Tuesday, September 13, 11
Tuesday, September 13, 11
ferramenta certa?




Tuesday, September 13, 11
solução spaguetti




Tuesday, September 13, 11
Tuesday, September 13, 11
obje tos?
                            ília de                                       tos?
          r fam                                              omp o r obje
     Cria                                                  C



                                             Alterar um alg
                                                            or itmo?

          r interface d e objetos?
     Muda


                                         Encapsula
                                                   r algoritm
        Criar                                                o?
                        um o
                              bjeto
                                     ?                                   ntos?
                                                              mpo  r tame
                                                   icionar co
                                                Ad
Tuesday, September 13, 11
Tuesday, September 13, 11
Tuesday, September 13, 11
Eric	
  G
                                                              amma

                 ard 	
  Helm
         Rich
                                           issides                   Ralph	
  Johnson
                                John	
  Vl




Tuesday, September 13, 11
gang of four




Tuesday, September 13, 11
Tuesday, September 13, 11
Tuesday, September 13, 11
“descreve um problema no nosso
              ambiente e o cerne da sua solução, de
               forma que você possa utilizar essa
              solução mais de um milhão de vezes”
                                          Cristopher Alexander




Tuesday, September 13, 11
Tuesday, September 13, 11
agora você tem o poder




Tuesday, September 13, 11
não é receita de bolo




Tuesday, September 13, 11
é um caminho




Tuesday, September 13, 11
são ferramentas




Tuesday, September 13, 11
vocabulário




Tuesday, September 13, 11
Os padrões de criação abstraem o
                   processo de instanciação. Ajudam a
                   tornar um sistema independente de
                      como seus objetos são criados,
                       compostos e representados




Tuesday, September 13, 11
Fornecer um
                                         a interface p
                            criação de fa              ara a
                                          mílias de obj
                            relacionados                etos
                                          ou dependen
                            sem especifi                  tes
                                         car suas clas
                                     concretas.        ses




Tuesday, September 13, 11
ct fac tory
              Ab stra




Tuesday, September 13, 11
Fornecer um
                                            a interface p
                             criar um obj                 ara
                                          eto, mas deix
                            subclasses d                ar as
                                         efinirem que
                                                       classe
                                      instanciar




Tuesday, September 13, 11
y Me thod
               Fa ctor




Tuesday, September 13, 11
Separar a co
                                           nstrução de
                                objeto compl            um
                                             exo de sua
                             representaç
                                         ão de modo q
                            mesmo proc                 ue o
                                        esso de cons
                                possa criar d        trução
                                              iferentes
                                   representaç
                                                 ões




Tuesday, September 13, 11
Bu ilder




Tuesday, September 13, 11
Os padrões estruturais se
              preocupam com a forma como
             classes e objetos são compostos
             para formar estruturas maiores




Tuesday, September 13, 11
Dinamicame
                                            nte agregar
                            responsabili
                                         dades adicio
                                                      nais a
                                     um objeto




Tuesday, September 13, 11
Deco rator




Tuesday, September 13, 11
Fornecer um
                            unificada pa     a interface
                                        ra um conjun
                            interfaces em            to de
                                          um subsistem
                                                        a




Tuesday, September 13, 11
Fa çade




Tuesday, September 13, 11
Os padrões comportamentais
              se preocupam com algoritmos e
                      a atribuição de
              responsabilidades entre objetos




Tuesday, September 13, 11
Evitar o acop
                            remetente d        lamento do
                                        e uma solicit
                             seu receptor              ação ao
                                          , ao dar a ma
                             um objeto a o              is de
                                            portunidade
                                  tratar a solic          de
                                                 itação




Tuesday, September 13, 11
onsib ility
                      Res   p
     Cha        in of




Tuesday, September 13, 11
Permite a um
                                         objeto altera
                             comportame                r seu
                                         nto quando s
                                estado inter            eu
                                             no muda




Tuesday, September 13, 11
State




Tuesday, September 13, 11
Definir uma
                                            família da
                            algoritmos, e
                                          ncapsular ca
                               umda delas e            da
                                             torná-las
                                  intercambiá
                                               veis




Tuesday, September 13, 11
Strategy




Tuesday, September 13, 11
Definir o esq
                                            ueleto de um
                             algoritmo em
                                           uma operaçã
                            postergando                  o,
                                         alguns dos p
                                  para as subc        assos
                                               lasses




Tuesday, September 13, 11
e Me thod
             Templat




Tuesday, September 13, 11
Tuesday, September 13, 11
resumindo




Tuesday, September 13, 11
patterns são amigos




Tuesday, September 13, 11
auxiliam o crescimento




Tuesday, September 13, 11
crescimento sustentável




Tuesday, September 13, 11
vida mais saudável




Tuesday, September 13, 11
Tuesday, September 13, 11
M ais
     h"p://viniciusquaiato.com/blog/category/pa"erns/

     h"p://en.wikipedia.org/wiki/Design_pa"ern_(computer_science)



     h"p://www.dofactory.com

     h"p://mar@nfowler.com/eaaCatalog/



Tuesday, September 13, 11
@vquaiato
                       (vinicius quaiato)

       http://viniciusquaiato.com
          http://crafters.com.br


    vinicius.quaiato@gmail.com




Tuesday, September 13, 11
Tuesday, September 13, 11

Orientacao a objetos e design patterns - Secomp Londrina