orientacao a objetos e design patterns - secomp londrina
DESCRIPTION
Palestra sobre Orientação a Objetos e Design Patterns apresentada na VIII Secompa Londrina por Vinicius Quaiato.Nesta palestra explico oa conceitos e idéias da orientação a objetos e como de fato tirar proveito dele entendendo e conhecendo Design Patterns.TRANSCRIPT
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)
programadorpalestrante
paisantista
entusiastaconsultor
etc, etc, etc
Tuesday, September 13, 11
http://viniciusquaiato.comhttp://crafters.com.br
@vquaiato(vinicius quaiato)
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
Funcional
existem muitos estilos
Tuesday, September 13, 11
FuncionalLógica
existem muitos estilos
Tuesday, September 13, 11
FuncionalLógica
Estruturada
existem muitos estilos
Tuesday, September 13, 11
FuncionalLógica
EstruturadaProcedural
existem muitos estilos
Tuesday, September 13, 11
Orientada a Objeto
FuncionalLógica
EstruturadaProcedural
existem muitos estilos
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
Encapsular algoritmo?Criar um objeto?
Criar família de objetos?
Compor objetos?
Mudar interface de objetos?
Adicionar comportamentos?
Alterar um algoritmo?
Tuesday, September 13, 11
Tuesday, September 13, 11
Tuesday, September 13, 11
Eric Gamma
Richard He
lm
Ralph JohnsonJohn Vlissides
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 uma interface para a criação de famílias de objetos relacionados ou dependentes sem especificar suas classes concretas.
Tuesday, September 13, 11
Abstract factory
Tuesday, September 13, 11
Fornecer uma interface para criar um objeto, mas deixar as subclasses definirem que classe instanciar
Tuesday, September 13, 11
Factory Method
Tuesday, September 13, 11
Separar a construção de um objeto complexo de sua representação de modo que o mesmo processo de construção possa criar diferentes representações
Tuesday, September 13, 11
Builder
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
Dinamicamente agregar responsabilidades adicionais a um objeto
Tuesday, September 13, 11
Decorator
Tuesday, September 13, 11
Fornecer uma interface unificada para um conjunto de interfaces em um subsistema
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 acoplamento do remetente de uma solicitação ao seu receptor, ao dar a mais de um objeto a oportunidade de tratar a solicitação
Tuesday, September 13, 11
Chain of Responsibility
Tuesday, September 13, 11
Permite a um objeto alterar seu comportamento quando seu estado interno muda
Tuesday, September 13, 11
State
Tuesday, September 13, 11
Definir uma família da algoritmos, encapsular cada umda delas e torná-las intercambiáveis
Tuesday, September 13, 11
Strategy
Tuesday, September 13, 11
Definir o esqueleto de um algoritmo em uma operação, postergando alguns dos passos para as subclasses
Tuesday, September 13, 11
Template Method
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
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://[email protected]/eaaCatalog/
M ais
Tuesday, September 13, 11
http://viniciusquaiato.comhttp://crafters.com.br
@vquaiato(vinicius quaiato)
Tuesday, September 13, 11
Tuesday, September 13, 11