Padrões de Projeto
-
Upload
nauber-gois -
Category
Technology
-
view
73 -
download
0
Transcript of Padrões de Projeto
![Page 1: Padrões de Projeto](https://reader031.fdocumentos.tips/reader031/viewer/2022030305/5870bf881a28ab0b4a8b6c3f/html5/thumbnails/1.jpg)
PADRÕES DE PROJETO
Francisco Nauber Bernardo Gois
MÉTODOS AVANÇADOS DE
![Page 2: Padrões de Projeto](https://reader031.fdocumentos.tips/reader031/viewer/2022030305/5870bf881a28ab0b4a8b6c3f/html5/thumbnails/2.jpg)
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.
![Page 3: Padrões de Projeto](https://reader031.fdocumentos.tips/reader031/viewer/2022030305/5870bf881a28ab0b4a8b6c3f/html5/thumbnails/3.jpg)
PADRÕES
![Page 4: Padrões de Projeto](https://reader031.fdocumentos.tips/reader031/viewer/2022030305/5870bf881a28ab0b4a8b6c3f/html5/thumbnails/4.jpg)
PADRÕES DE PROJETO
SOLUÇÃO PADRÃO?
![Page 5: Padrões de Projeto](https://reader031.fdocumentos.tips/reader031/viewer/2022030305/5870bf881a28ab0b4a8b6c3f/html5/thumbnails/5.jpg)
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
![Page 6: Padrões de Projeto](https://reader031.fdocumentos.tips/reader031/viewer/2022030305/5870bf881a28ab0b4a8b6c3f/html5/thumbnails/6.jpg)
PADRÕES DE PROJETO
A PATTERN LANGUAGE
![Page 7: Padrões de Projeto](https://reader031.fdocumentos.tips/reader031/viewer/2022030305/5870bf881a28ab0b4a8b6c3f/html5/thumbnails/7.jpg)
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.
![Page 8: Padrões de Projeto](https://reader031.fdocumentos.tips/reader031/viewer/2022030305/5870bf881a28ab0b4a8b6c3f/html5/thumbnails/8.jpg)
REUSO DE IDEIAS
![Page 9: Padrões de Projeto](https://reader031.fdocumentos.tips/reader031/viewer/2022030305/5870bf881a28ab0b4a8b6c3f/html5/thumbnails/9.jpg)
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
![Page 10: Padrões de Projeto](https://reader031.fdocumentos.tips/reader031/viewer/2022030305/5870bf881a28ab0b4a8b6c3f/html5/thumbnails/10.jpg)
PADRÕES DE PROJETO
![Page 11: Padrões de Projeto](https://reader031.fdocumentos.tips/reader031/viewer/2022030305/5870bf881a28ab0b4a8b6c3f/html5/thumbnails/11.jpg)
PADRÕES DE PROJETO
DIVERSAS PUBLICAÇÕES DESDE ENTÃO
![Page 12: Padrões de Projeto](https://reader031.fdocumentos.tips/reader031/viewer/2022030305/5870bf881a28ab0b4a8b6c3f/html5/thumbnails/12.jpg)
PADRÕES DE PROJETO
O CONCEITO DE PADRÕES COMEÇA A SER UTILIZADO EM OUTRAS ÁREAS
![Page 13: Padrões de Projeto](https://reader031.fdocumentos.tips/reader031/viewer/2022030305/5870bf881a28ab0b4a8b6c3f/html5/thumbnails/13.jpg)
PADRÕES DE PROJETO
EVOLUÇÃO DO USO DE PADRÕES
![Page 14: Padrões de Projeto](https://reader031.fdocumentos.tips/reader031/viewer/2022030305/5870bf881a28ab0b4a8b6c3f/html5/thumbnails/14.jpg)
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”
![Page 15: Padrões de Projeto](https://reader031.fdocumentos.tips/reader031/viewer/2022030305/5870bf881a28ab0b4a8b6c3f/html5/thumbnails/15.jpg)
PADRÕES DE PROJETO
O QUE SÃO PADRÕES
![Page 16: Padrões de Projeto](https://reader031.fdocumentos.tips/reader031/viewer/2022030305/5870bf881a28ab0b4a8b6c3f/html5/thumbnails/16.jpg)
PADRÕES POSSUEM UMA LINGUAGEM
![Page 17: Padrões de Projeto](https://reader031.fdocumentos.tips/reader031/viewer/2022030305/5870bf881a28ab0b4a8b6c3f/html5/thumbnails/17.jpg)
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
![Page 18: Padrões de Projeto](https://reader031.fdocumentos.tips/reader031/viewer/2022030305/5870bf881a28ab0b4a8b6c3f/html5/thumbnails/18.jpg)
PADRÕES FACILITAM A COMUNICAÇÃO ENTRE ESPECIALISTASVamos 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 !!!
![Page 19: Padrões de Projeto](https://reader031.fdocumentos.tips/reader031/viewer/2022030305/5870bf881a28ab0b4a8b6c3f/html5/thumbnails/19.jpg)
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
![Page 20: Padrões de Projeto](https://reader031.fdocumentos.tips/reader031/viewer/2022030305/5870bf881a28ab0b4a8b6c3f/html5/thumbnails/20.jpg)
PADRÕES DE PROJETO
▸ NOME
▸ Pattern alias – “also known as” (Apelido)
COMPONENTES DE UM PADRÃO DE PROJETO - LINGUAGEM DE PADRÕES
![Page 21: Padrões de Projeto](https://reader031.fdocumentos.tips/reader031/viewer/2022030305/5870bf881a28ab0b4a8b6c3f/html5/thumbnails/21.jpg)
PADRÕES DE PROJETO
PROXIMA AULA :
▸ A linguagem de padrões de projeto
![Page 22: Padrões de Projeto](https://reader031.fdocumentos.tips/reader031/viewer/2022030305/5870bf881a28ab0b4a8b6c3f/html5/thumbnails/22.jpg)
PADRÕES DE PROJETO
ONDE PUBLICAR NOVOS PADRÕES