orientacao a objetos e design patterns - secomp londrina

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

Upload: vinicius-quaiato

Post on 25-May-2015

1.004 views

Category:

Technology


3 download

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

Page 1: Orientacao a objetos e design patterns - Secomp Londrina

Orientação a Objetos e Design Patterns

construindo melhor seu software

Tuesday, September 13, 11

Page 2: Orientacao a objetos e design patterns - Secomp Londrina

Orientação a Objetos e Design Patterns

construindo melhor seu software

Tuesday, September 13, 11

Page 3: Orientacao a objetos e design patterns - Secomp Londrina

@vquaiato(vinicius quaiato)

programadorpalestrante

paisantista

entusiastaconsultor

etc, etc, etc

Tuesday, September 13, 11

Page 4: Orientacao a objetos e design patterns - Secomp Londrina

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

[email protected]

@vquaiato(vinicius quaiato)

Tuesday, September 13, 11

Page 5: Orientacao a objetos e design patterns - Secomp Londrina

um blog

Tuesday, September 13, 11

Page 6: Orientacao a objetos e design patterns - Secomp Londrina

um podcast

Tuesday, September 13, 11

Page 7: Orientacao a objetos e design patterns - Secomp Londrina

uma comunidade

Tuesday, September 13, 11

Page 8: Orientacao a objetos e design patterns - Secomp Londrina

um(ns) evento

Tuesday, September 13, 11

Page 9: Orientacao a objetos e design patterns - Secomp Londrina

um(ns) evento

Tuesday, September 13, 11

Page 10: Orientacao a objetos e design patterns - Secomp Londrina

começando

Tuesday, September 13, 11

Page 11: Orientacao a objetos e design patterns - Secomp Londrina

fazer software não é fácil

Tuesday, September 13, 11

Page 12: Orientacao a objetos e design patterns - Secomp Londrina

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

Tuesday, September 13, 11

Page 13: Orientacao a objetos e design patterns - Secomp Londrina

solução spaguetti

Tuesday, September 13, 11

Page 14: Orientacao a objetos e design patterns - Secomp Londrina

difícil de manter

Tuesday, September 13, 11

Page 15: Orientacao a objetos e design patterns - Secomp Londrina

difícil de evoluir

Tuesday, September 13, 11

Page 16: Orientacao a objetos e design patterns - Secomp Londrina

difícil de trabalhar

Tuesday, September 13, 11

Page 17: Orientacao a objetos e design patterns - Secomp Londrina

e a vida fica triste

Tuesday, September 13, 11

Page 18: Orientacao a objetos e design patterns - Secomp Londrina

Tuesday, September 13, 11

Page 19: Orientacao a objetos e design patterns - Secomp Londrina

existe uma luz

Tuesday, September 13, 11

Page 20: Orientacao a objetos e design patterns - Secomp Londrina

orientação a objetos

Tuesday, September 13, 11

Page 21: Orientacao a objetos e design patterns - Secomp Londrina

paradigma de programação

Tuesday, September 13, 11

Page 22: Orientacao a objetos e design patterns - Secomp Londrina

Tuesday, September 13, 11

Page 23: Orientacao a objetos e design patterns - Secomp Londrina

estilo de programação

Tuesday, September 13, 11

Page 24: Orientacao a objetos e design patterns - Secomp Londrina

existem muitos estilos

Tuesday, September 13, 11

Page 25: Orientacao a objetos e design patterns - Secomp Londrina

Funcional

existem muitos estilos

Tuesday, September 13, 11

Page 26: Orientacao a objetos e design patterns - Secomp Londrina

FuncionalLógica

existem muitos estilos

Tuesday, September 13, 11

Page 27: Orientacao a objetos e design patterns - Secomp Londrina

FuncionalLógica

Estruturada

existem muitos estilos

Tuesday, September 13, 11

Page 28: Orientacao a objetos e design patterns - Secomp Londrina

FuncionalLógica

EstruturadaProcedural

existem muitos estilos

Tuesday, September 13, 11

Page 29: Orientacao a objetos e design patterns - Secomp Londrina

Orientada a Objeto

FuncionalLógica

EstruturadaProcedural

existem muitos estilos

Tuesday, September 13, 11

Page 30: Orientacao a objetos e design patterns - Secomp Londrina

Tuesday, September 13, 11

Page 31: Orientacao a objetos e design patterns - Secomp Londrina

conceitos chave

Tuesday, September 13, 11

Page 32: Orientacao a objetos e design patterns - Secomp Londrina

classes

Tuesday, September 13, 11

Page 33: Orientacao a objetos e design patterns - Secomp Londrina

objetos

Tuesday, September 13, 11

Page 34: Orientacao a objetos e design patterns - Secomp Londrina

#1

Tuesday, September 13, 11

Page 35: Orientacao a objetos e design patterns - Secomp Londrina

#1

Tuesday, September 13, 11

Page 36: Orientacao a objetos e design patterns - Secomp Londrina

estado

Tuesday, September 13, 11

Page 37: Orientacao a objetos e design patterns - Secomp Londrina

Tuesday, September 13, 11

Page 38: Orientacao a objetos e design patterns - Secomp Londrina

comportamento

Tuesday, September 13, 11

Page 39: Orientacao a objetos e design patterns - Secomp Londrina

Tuesday, September 13, 11

Page 40: Orientacao a objetos e design patterns - Secomp Londrina

encapsulamento

Tuesday, September 13, 11

Page 41: Orientacao a objetos e design patterns - Secomp Londrina

Tuesday, September 13, 11

Page 42: Orientacao a objetos e design patterns - Secomp Londrina

herança

Tuesday, September 13, 11

Page 43: Orientacao a objetos e design patterns - Secomp Londrina

Tuesday, September 13, 11

Page 44: Orientacao a objetos e design patterns - Secomp Londrina

Tuesday, September 13, 11

Page 45: Orientacao a objetos e design patterns - Secomp Londrina

polimorfismo

Tuesday, September 13, 11

Page 46: Orientacao a objetos e design patterns - Secomp Londrina

Tuesday, September 13, 11

Page 47: Orientacao a objetos e design patterns - Secomp Londrina

Tuesday, September 13, 11

Page 48: Orientacao a objetos e design patterns - Secomp Londrina

ferramenta certa?

Tuesday, September 13, 11

Page 49: Orientacao a objetos e design patterns - Secomp Londrina

solução spaguetti

Tuesday, September 13, 11

Page 50: Orientacao a objetos e design patterns - Secomp Londrina

Tuesday, September 13, 11

Page 51: Orientacao a objetos e design patterns - Secomp Londrina

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

Page 52: Orientacao a objetos e design patterns - Secomp Londrina

Tuesday, September 13, 11

Page 53: Orientacao a objetos e design patterns - Secomp Londrina

Tuesday, September 13, 11

Page 54: Orientacao a objetos e design patterns - Secomp Londrina

Eric  Gamma

Richard  He

lm

Ralph  JohnsonJohn  Vlissides

Tuesday, September 13, 11

Page 55: Orientacao a objetos e design patterns - Secomp Londrina

gang of four

Tuesday, September 13, 11

Page 56: Orientacao a objetos e design patterns - Secomp Londrina

Tuesday, September 13, 11

Page 57: Orientacao a objetos e design patterns - Secomp Londrina

Tuesday, September 13, 11

Page 58: Orientacao a objetos e design patterns - Secomp Londrina

“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

Page 59: Orientacao a objetos e design patterns - Secomp Londrina

Tuesday, September 13, 11

Page 60: Orientacao a objetos e design patterns - Secomp Londrina

agora você tem o poder

Tuesday, September 13, 11

Page 61: Orientacao a objetos e design patterns - Secomp Londrina

não é receita de bolo

Tuesday, September 13, 11

Page 62: Orientacao a objetos e design patterns - Secomp Londrina

é um caminho

Tuesday, September 13, 11

Page 63: Orientacao a objetos e design patterns - Secomp Londrina

são ferramentas

Tuesday, September 13, 11

Page 64: Orientacao a objetos e design patterns - Secomp Londrina

vocabulário

Tuesday, September 13, 11

Page 65: Orientacao a objetos e design patterns - Secomp Londrina

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

Page 66: Orientacao a objetos e design patterns - Secomp Londrina

Fornecer uma interface para a criação de famílias de objetos relacionados ou dependentes sem especificar suas classes concretas.

Tuesday, September 13, 11

Page 67: Orientacao a objetos e design patterns - Secomp Londrina

Abstract factory

Tuesday, September 13, 11

Page 68: Orientacao a objetos e design patterns - Secomp Londrina

Fornecer uma interface para criar um objeto, mas deixar as subclasses definirem que classe instanciar

Tuesday, September 13, 11

Page 69: Orientacao a objetos e design patterns - Secomp Londrina

Factory Method

Tuesday, September 13, 11

Page 70: Orientacao a objetos e design patterns - Secomp Londrina

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

Page 71: Orientacao a objetos e design patterns - Secomp Londrina

Builder

Tuesday, September 13, 11

Page 72: Orientacao a objetos e design patterns - Secomp Londrina

Os padrões estruturais se preocupam com a forma como

classes e objetos são compostos para formar estruturas maiores

Tuesday, September 13, 11

Page 73: Orientacao a objetos e design patterns - Secomp Londrina

Dinamicamente agregar responsabilidades adicionais a um objeto

Tuesday, September 13, 11

Page 74: Orientacao a objetos e design patterns - Secomp Londrina

Decorator

Tuesday, September 13, 11

Page 75: Orientacao a objetos e design patterns - Secomp Londrina

Fornecer uma interface unificada para um conjunto de interfaces em um subsistema

Tuesday, September 13, 11

Page 76: Orientacao a objetos e design patterns - Secomp Londrina

Façade

Tuesday, September 13, 11

Page 77: Orientacao a objetos e design patterns - Secomp Londrina

Os padrões comportamentais se preocupam com algoritmos e

a atribuição de responsabilidades entre objetos

Tuesday, September 13, 11

Page 78: Orientacao a objetos e design patterns - Secomp Londrina

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

Page 79: Orientacao a objetos e design patterns - Secomp Londrina

Chain of Responsibility

Tuesday, September 13, 11

Page 80: Orientacao a objetos e design patterns - Secomp Londrina

Permite a um objeto alterar seu comportamento quando seu estado interno muda

Tuesday, September 13, 11

Page 81: Orientacao a objetos e design patterns - Secomp Londrina

State

Tuesday, September 13, 11

Page 82: Orientacao a objetos e design patterns - Secomp Londrina

Definir uma família da algoritmos, encapsular cada umda delas e torná-las intercambiáveis

Tuesday, September 13, 11

Page 83: Orientacao a objetos e design patterns - Secomp Londrina

Strategy

Tuesday, September 13, 11

Page 84: Orientacao a objetos e design patterns - Secomp Londrina

Definir o esqueleto de um algoritmo em uma operação, postergando alguns dos passos para as subclasses

Tuesday, September 13, 11

Page 85: Orientacao a objetos e design patterns - Secomp Londrina

Template Method

Tuesday, September 13, 11

Page 86: Orientacao a objetos e design patterns - Secomp Londrina

Tuesday, September 13, 11

Page 87: Orientacao a objetos e design patterns - Secomp Londrina

resumindo

Tuesday, September 13, 11

Page 88: Orientacao a objetos e design patterns - Secomp Londrina

patterns são amigos

Tuesday, September 13, 11

Page 89: Orientacao a objetos e design patterns - Secomp Londrina

auxiliam o crescimento

Tuesday, September 13, 11

Page 90: Orientacao a objetos e design patterns - Secomp Londrina

crescimento sustentável

Tuesday, September 13, 11

Page 91: Orientacao a objetos e design patterns - Secomp Londrina

vida mais saudável

Tuesday, September 13, 11

Page 92: Orientacao a objetos e design patterns - Secomp Londrina

Tuesday, September 13, 11

Page 93: Orientacao a objetos e design patterns - Secomp Londrina

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

Page 94: Orientacao a objetos e design patterns - Secomp Londrina

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

[email protected]

@vquaiato(vinicius quaiato)

Tuesday, September 13, 11

Page 95: Orientacao a objetos e design patterns - Secomp Londrina

Tuesday, September 13, 11