SlideShare uma empresa Scribd logo
1 de 23
Baixar para ler offline
PADRÕES DE PROJETO
Francisco Nauber Bernardo Gois
MÉTODOS AVANÇADOS DE
AULA 1
A O FIM DESTA AULA VOCÊ SERÁ CAPAZ DE:
▸ Compreender o que são padrões de projeto.
▸ Aprender a origem dos padrões de projeto.
▸ Iniciar o entendimento de como são descritos e
estruturados padrão de projeto na linguagem de padrões.
PADRÕES
PADRÕES DE PROJETO
SOLUÇÃO PADRÃO?
PADRÕES DE PROJETO
ORIGEM
⦿ Os padrões de projeto surgiram com
●Christopher Alexander nos anos 70.
●The Timeless Way of Building
(1979)
⦿ Descreve
●Soluções comuns de arquitetura
●Como essas soluções se unem
para formar um ambiente coesivo e
habitável
●Padrões do urbanismo para
detalhes decorativos
PADRÕES DE PROJETO
A PATTERN LANGUAGE
PADRÕES DE PROJETO
O QUE É UM PADRÃO DE PROJETO?
▸ Patterns = Um definição simples é uma solução conhecida
aplicada a um problema em um contexto determinado.
▸ É uma solução geral para um problema que ocorre com
frequência dentro de um determinado contexto no projeto
de software.
REUSO DE IDEIAS
PADRÕES DE PROJETO
PADRÕES DE PROJETO
▸ Facilitam o reuso de soluções de arquiteturas e projeto
▸ Não é reuso de código
▸ Reuso de soluções e estratégias
▸ As vezes, reuso de interface
PADRÕES DE PROJETO
PADRÕES DE PROJETO
DIVERSAS PUBLICAÇÕES DESDE ENTÃO
PADRÕES DE PROJETO
O CONCEITO DE PADRÕES COMEÇA A SER UTILIZADO EM OUTRAS ÁREAS
PADRÕES DE PROJETO
EVOLUÇÃO DO USO DE PADRÕES
Gang of Four - O Livro
• O livro que iniciou o
uso de padrões de
projeto em
engenharia de
software
• Comunidade se refere
aos autores como
“Gang of Four”
PADRÕES DE PROJETO
O QUE SÃO PADRÕES
PADRÕES POSSUEM UMA LINGUAGEM
PADRÕES DE PROJETO
COMPONENTES DE UM PADRÃO DE PROJETO - LINGUAGEM DE PADRÕES
▸ NOME
O nome facilita a comunicação e
referência ao padrão
PADRÕES FACILITAM A COMUNICAÇÃO ENTRE ESPECIALISTAS
Vamos criar objetos únicos para os
quais há apenas uma instância,
oferecendo um ponto de acesso
global, assim como uma variável
global, porém sem as desvantagens
das variáveis globais.
PADRÕES DE PROJETO
Vamos usar o Singleton !!!
PADRÕES DE PROJETO
USANDO PADRÕES DE PROJETO
Podemos receber notificações quando um evento acontece?
• Yes, we can! – Observer
• Podemos desfazer a ultima operação realizada?
• Yes, we can! – Memento and Command
• Podemos acessar os elementos de uma coleção de forma
sequencial?
• Yes, we can! – Iterator
PADRÕES DE PROJETO
▸ NOME
▸ Pattern alias – “also known as” (Apelido)
COMPONENTES DE UM PADRÃO DE PROJETO - LINGUAGEM DE PADRÕES
PADRÕES DE PROJETO
PROXIMA AULA :
▸ A linguagem de padrões de projeto
PADRÕES DE PROJETO
ONDE PUBLICAR NOVOS PADRÕES
Email: naubergois@gmail.com
naubergois@gmail.com

Mais conteúdo relacionado

Destaque

Destaque (20)

Seguranca informacao 1
Seguranca informacao 1Seguranca informacao 1
Seguranca informacao 1
 
Inteligencia artificial 2
Inteligencia artificial 2Inteligencia artificial 2
Inteligencia artificial 2
 
Sistemas operacionais 4
Sistemas operacionais 4Sistemas operacionais 4
Sistemas operacionais 4
 
Sistemas operacionais 2
Sistemas operacionais 2Sistemas operacionais 2
Sistemas operacionais 2
 
Inteligencia artificial 3
Inteligencia artificial 3Inteligencia artificial 3
Inteligencia artificial 3
 
Testes não funcionais 2
Testes não funcionais 2Testes não funcionais 2
Testes não funcionais 2
 
Sistemas infgerencial3
Sistemas infgerencial3Sistemas infgerencial3
Sistemas infgerencial3
 
Sistemas operacionais 5
Sistemas operacionais 5Sistemas operacionais 5
Sistemas operacionais 5
 
Inteligencia artificial5
Inteligencia artificial5Inteligencia artificial5
Inteligencia artificial5
 
Sist infgerencial4
Sist infgerencial4Sist infgerencial4
Sist infgerencial4
 
Invasaocom exploits
Invasaocom exploitsInvasaocom exploits
Invasaocom exploits
 
Sist infgerenciais 8
Sist infgerenciais 8Sist infgerenciais 8
Sist infgerenciais 8
 
Sistema infgerenciais 2
Sistema infgerenciais 2Sistema infgerenciais 2
Sistema infgerenciais 2
 
Sistema infgerencial5
Sistema infgerencial5Sistema infgerencial5
Sistema infgerencial5
 
Inteligencia artifical 6
Inteligencia artifical 6Inteligencia artifical 6
Inteligencia artifical 6
 
Inteligencia artificial 8
Inteligencia artificial 8Inteligencia artificial 8
Inteligencia artificial 8
 
Sist operacionais 7
Sist operacionais 7Sist operacionais 7
Sist operacionais 7
 
Beefataque
BeefataqueBeefataque
Beefataque
 
Sistemas operacionais 6
Sistemas operacionais 6Sistemas operacionais 6
Sistemas operacionais 6
 
Ssit informacoesgerenciais 5
Ssit informacoesgerenciais 5Ssit informacoesgerenciais 5
Ssit informacoesgerenciais 5
 

Semelhante a Padrões de Projeto

Aprensentacao oo-trincheiras
Aprensentacao oo-trincheirasAprensentacao oo-trincheiras
Aprensentacao oo-trincheiras
Higor César
 
Reflexões sobre Apresentações de Pesquisa
Reflexões sobre Apresentações de PesquisaReflexões sobre Apresentações de Pesquisa
Reflexões sobre Apresentações de Pesquisa
Tiago Massoni
 
Metodologia ativação projetos prototipação slideshare
Metodologia ativação projetos prototipação slideshareMetodologia ativação projetos prototipação slideshare
Metodologia ativação projetos prototipação slideshare
Dobra Inova
 
Aula 2 - Técnicas de Prototipação I
Aula 2 - Técnicas de Prototipação IAula 2 - Técnicas de Prototipação I
Aula 2 - Técnicas de Prototipação I
Paolo Passeri
 

Semelhante a Padrões de Projeto (20)

Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Design Patterns - Aula 1
Design Patterns - Aula 1Design Patterns - Aula 1
Design Patterns - Aula 1
 
Explorando O Potencial Das Linguagens De Programação Open Source
Explorando O Potencial Das Linguagens De Programação Open SourceExplorando O Potencial Das Linguagens De Programação Open Source
Explorando O Potencial Das Linguagens De Programação Open Source
 
Dark Java (2009)
Dark Java (2009)Dark Java (2009)
Dark Java (2009)
 
Aprensentacao oo-trincheiras
Aprensentacao oo-trincheirasAprensentacao oo-trincheiras
Aprensentacao oo-trincheiras
 
Trabalho submarino projetos de navegação e interação
Trabalho submarino  projetos de navegação e interaçãoTrabalho submarino  projetos de navegação e interação
Trabalho submarino projetos de navegação e interação
 
Reflexões sobre Apresentações de Pesquisa
Reflexões sobre Apresentações de PesquisaReflexões sobre Apresentações de Pesquisa
Reflexões sobre Apresentações de Pesquisa
 
Padrões de Projeto de Software Orientado a Objetos
Padrões de Projeto de Software Orientado a ObjetosPadrões de Projeto de Software Orientado a Objetos
Padrões de Projeto de Software Orientado a Objetos
 
Métodos de Design: Uma abordagem para estudos de viabilidade em projetos de s...
Métodos de Design: Uma abordagem para estudos de viabilidade em projetos de s...Métodos de Design: Uma abordagem para estudos de viabilidade em projetos de s...
Métodos de Design: Uma abordagem para estudos de viabilidade em projetos de s...
 
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
 
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO ILIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
LIVRO PROPRIETÁRIO - PROGRAMAÇÃO I
 
Design Patterns - Com Java
Design Patterns  - Com JavaDesign Patterns  - Com Java
Design Patterns - Com Java
 
Introdução à análise orientada a objetos parte 6
Introdução à análise orientada a objetos parte 6Introdução à análise orientada a objetos parte 6
Introdução à análise orientada a objetos parte 6
 
Metodologia ativação projetos prototipação slideshare
Metodologia ativação projetos prototipação slideshareMetodologia ativação projetos prototipação slideshare
Metodologia ativação projetos prototipação slideshare
 
O iPad na Documentação Pedagógica
O iPad na Documentação PedagógicaO iPad na Documentação Pedagógica
O iPad na Documentação Pedagógica
 
Aula 2 - Técnicas de Prototipação I
Aula 2 - Técnicas de Prototipação IAula 2 - Técnicas de Prototipação I
Aula 2 - Técnicas de Prototipação I
 
Design Livre
Design LivreDesign Livre
Design Livre
 
Laboratório Web 2013-2014 - Etapas na Produção: Análise e Pesquisa
Laboratório Web 2013-2014 - Etapas na Produção: Análise e PesquisaLaboratório Web 2013-2014 - Etapas na Produção: Análise e Pesquisa
Laboratório Web 2013-2014 - Etapas na Produção: Análise e Pesquisa
 
Padrões de Projeto de Software Orientado a Objetos
Padrões de Projeto de Software Orientado a ObjetosPadrões de Projeto de Software Orientado a Objetos
Padrões de Projeto de Software Orientado a Objetos
 
GoF.ppt
GoF.pptGoF.ppt
GoF.ppt
 

Mais de Nauber Gois (14)

Ai health
Ai health Ai health
Ai health
 
Inteligencia artificial 13
Inteligencia artificial 13Inteligencia artificial 13
Inteligencia artificial 13
 
Sistemas operacionais 14
Sistemas operacionais 14Sistemas operacionais 14
Sistemas operacionais 14
 
Sistemas operacionais 13
Sistemas operacionais 13Sistemas operacionais 13
Sistemas operacionais 13
 
Inteligencia artificial 12
Inteligencia artificial 12Inteligencia artificial 12
Inteligencia artificial 12
 
Sistemas operacionais 12
Sistemas operacionais 12Sistemas operacionais 12
Sistemas operacionais 12
 
Sistemas operacionais 11
Sistemas operacionais 11Sistemas operacionais 11
Sistemas operacionais 11
 
Sistemas operacionais 10
Sistemas operacionais 10Sistemas operacionais 10
Sistemas operacionais 10
 
Inteligencia artificial 11
Inteligencia artificial 11Inteligencia artificial 11
Inteligencia artificial 11
 
Sistemas operacional 9
Sistemas operacional 9Sistemas operacional 9
Sistemas operacional 9
 
Inteligencia artificial 10
Inteligencia artificial 10Inteligencia artificial 10
Inteligencia artificial 10
 
Sistemas operacionais 8
Sistemas operacionais 8Sistemas operacionais 8
Sistemas operacionais 8
 
Inteligencia artificial 9
Inteligencia artificial 9Inteligencia artificial 9
Inteligencia artificial 9
 
Inteligencia artifical 7
Inteligencia artifical 7Inteligencia artifical 7
Inteligencia artifical 7
 

Padrões de Projeto

  • 1. PADRÕES DE PROJETO Francisco Nauber Bernardo Gois MÉTODOS AVANÇADOS DE
  • 2. AULA 1 A O FIM DESTA AULA VOCÊ SERÁ CAPAZ DE: ▸ Compreender o que são padrões de projeto. ▸ Aprender a origem dos padrões de projeto. ▸ Iniciar o entendimento de como são descritos e estruturados padrão de projeto na linguagem de padrões.
  • 5. PADRÕES DE PROJETO ORIGEM ⦿ Os padrões de projeto surgiram com ●Christopher Alexander nos anos 70. ●The Timeless Way of Building (1979) ⦿ Descreve ●Soluções comuns de arquitetura ●Como essas soluções se unem para formar um ambiente coesivo e habitável ●Padrões do urbanismo para detalhes decorativos
  • 6. PADRÕES DE PROJETO A PATTERN LANGUAGE
  • 7. PADRÕES DE PROJETO O QUE É UM PADRÃO DE PROJETO? ▸ Patterns = Um definição simples é uma solução conhecida aplicada a um problema em um contexto determinado. ▸ É uma solução geral para um problema que ocorre com frequência dentro de um determinado contexto no projeto de software.
  • 9. PADRÕES DE PROJETO PADRÕES DE PROJETO ▸ Facilitam o reuso de soluções de arquiteturas e projeto ▸ Não é reuso de código ▸ Reuso de soluções e estratégias ▸ As vezes, reuso de interface
  • 11. PADRÕES DE PROJETO DIVERSAS PUBLICAÇÕES DESDE ENTÃO
  • 12. PADRÕES DE PROJETO O CONCEITO DE PADRÕES COMEÇA A SER UTILIZADO EM OUTRAS ÁREAS
  • 13. PADRÕES DE PROJETO EVOLUÇÃO DO USO DE PADRÕES
  • 14. Gang of Four - O Livro • O livro que iniciou o uso de padrões de projeto em engenharia de software • Comunidade se refere aos autores como “Gang of Four”
  • 15. PADRÕES DE PROJETO O QUE SÃO PADRÕES
  • 16. PADRÕES POSSUEM UMA LINGUAGEM
  • 17. PADRÕES DE PROJETO COMPONENTES DE UM PADRÃO DE PROJETO - LINGUAGEM DE PADRÕES ▸ NOME O nome facilita a comunicação e referência ao padrão
  • 18. PADRÕES FACILITAM A COMUNICAÇÃO ENTRE ESPECIALISTAS Vamos criar objetos únicos para os quais há apenas uma instância, oferecendo um ponto de acesso global, assim como uma variável global, porém sem as desvantagens das variáveis globais. PADRÕES DE PROJETO Vamos usar o Singleton !!!
  • 19. PADRÕES DE PROJETO USANDO PADRÕES DE PROJETO Podemos receber notificações quando um evento acontece? • Yes, we can! – Observer • Podemos desfazer a ultima operação realizada? • Yes, we can! – Memento and Command • Podemos acessar os elementos de uma coleção de forma sequencial? • Yes, we can! – Iterator
  • 20. PADRÕES DE PROJETO ▸ NOME ▸ Pattern alias – “also known as” (Apelido) COMPONENTES DE UM PADRÃO DE PROJETO - LINGUAGEM DE PADRÕES
  • 21. PADRÕES DE PROJETO PROXIMA AULA : ▸ A linguagem de padrões de projeto
  • 22. PADRÕES DE PROJETO ONDE PUBLICAR NOVOS PADRÕES