SlideShare uma empresa Scribd logo
1 de 5
Baixar para ler offline
Lista de controle
• Decida se "independência de plataforma" e criação de serviços são a atual fonte
de dor.
• Mapear uma matriz de "plataformas" versus "produtos".
• Definir uma interface de fábrica que consiste em um método de fábrica por produto.
• Definir uma classe derivada de fábrica para cada plataforma que encapsula todas as referências ao NovoDefinir uma classe derivada de fábrica para cada plataforma que encapsula todas as referências ao Novo
operador.
• O cliente deve retirar todas as referências a Novo, e usar os métodos de fábrica para criarO cliente deve retirar todas as referências a Novo, e usar os métodos de fábrica para criarO cliente deve retirar todas as referências a Novo, e usar os métodos de fábrica para criar
os objetos de produtos.
Regras de ouro
Às vezes, padrões de criação são concorrentes: há casos em que seja Prototype ou
Abstract Factory poderia ser usado de forma lucrativa.
Em outros momentos, eles são complementory: Abstract Factory pode armazenar um conjunto
de protótipos de que para clonar e retornar objetos produtos, Builder pode usar um dos outros
padrões de implementar que
12 | Abstract Factory
Abstract Factory | 13
componentes são construídas. Abstract Factory, Builder, e Prototype pode usar Singleton na
sua implementação.
Abstract Factory, Builder, e Prototype definir um objeto fábrica que é responsável por conhecer
e criar a classe de objetos produtos, e torná-lo um parâmetro do sistema. Abstract Factory tem o
objeto fábrica de produção de objetos de várias classes. Builder tem o objeto de fábrica construção
de um produto complexo de forma incremental usando um protocolo correspondentemente
complexa. Prototype tem o objeto de fábrica (aka protótipo) construção de um produto copiando um
objeto de protótipo.
aulas Abstract Factory são frequentemente implementadas com métodos de fábrica, mas eles também
podem ser implementadas usando Prototype.
Abstract Factory pode ser usado como uma alternativa para a fachada para esconder as classes
específicas da plataforma.
Builder centra-se na construção de uma etapa complexa objeto a passo. Abstract Factory
enfatiza uma família de objetos produtos (simples ou complexos). Builder retorna o produto como
um passo final, mas, tanto quanto o Abstract Factory está em causa, o produto é retornado
imediatamente.
Muitas vezes, projeta começar usando Factory Method (menos complicado, mais
personalizável, subclasses proliferam) e evoluir em direção Abstract Factory, Prototype, ou Builder
(mais flexível, mais complexo) como o designer descobre onde é necessária mais flexibilidade.
Adaptador
Intenção
• Converter a interface de uma classe em outra interface esperada pelos clientes. Adapter permite que
classes de trabalhar juntos que não poderia de outro modo, porque de interfaces incompatíveis.
• Enrole uma classe existente com uma nova interface.
• Impedância de corresponder a um componente antigo para um novo sistema
Problema
Um "off the shelf" componente oferece funcionalidade convincente que você
gostaria de reutilizar, mas a sua "visão do mundo" não é compatível com a filosofia e
arquitetura do sistema a ser desenvolvido.
Discussão
Reutilização sempre foi doloroso e indescritível. Uma das razões foi a tribulação de
projetar algo novo, enquanto reutiliza algo velho. Há sempre algo não muito certo entre o
velho eo novo. Pode ser dimensões físicas ou desalinhamento. Pode ser de
temporização ou de sincronização. Pode ser suposições infelizes ou padrões
concorrentes.
É como o problema da inserção de uma nova ficha eléctrica de três pinos numa tomada de dois
pinos de idade - uma espécie de adaptador ou intermediário é necessário.
14 | Adaptador
Adaptador é sobre a criação de uma abstração intermediário que traduz, ou mapas, o antigo
componente para o novo sistema. Clientes chamar métodos no objeto adaptador que os
redireciona para chamadas para o componente de legado. Esta estratégia pode ser
implementada com herança ou com agregação.
funções adaptador como um invólucro ou modificador de uma classe existente. Ele fornece um ponto
de vista diferente ou traduzido dessa classe.
Estrutura
Abaixo, um componente do retângulo legado exibição método de espera para receber "x, y, w,Abaixo, um componente do retângulo legado exibição método de espera para receber "x, y, w,Abaixo, um componente do retângulo legado exibição método de espera para receber "x, y, w,
h" parâmetros. Mas o cliente quer passar "x superior esquerdo e y" e "inferior x direita e y". Esta
incongruência pode ser reconciliado por adição de um nível adicional de falta de - ou seja, um
objecto do adaptador.
O adaptador também pode ser pensado como um "wrapper".
Adapter | 15
Exemplo
O padrão Adapter permite que classes de outra forma incompatíveis a trabalhar juntos,
convertendo a interface de uma classe em uma interface esperada pelos clientes.
chaves de caixa proporcionam um exemplo do adaptador. Uma tomada atribui a um
roquete, desde que o tamanho da unidade é a mesma. tamanhos de unidade típicos nos
Estados Unidos são 1/2" e 1/4" .
Obviamente, um 1/2" roquete unidade não irá encaixar-se um 1/4" encaixe de accionamento, a menos que uma
placa é usada. Um adaptador de 1/2" a 1/4" tem uma conexão fêmea para se ajustar sobre a 1/2" 1/2" de roquete de
accionamento, e uma conexão macho para se ajustar no 1/4" 1/4" encaixe de accionamento.
16 | Adaptador

Mais conteúdo relacionado

Semelhante a padrao de projeto1

3260 php truquesmagicos %281%29
3260 php truquesmagicos %281%293260 php truquesmagicos %281%29
3260 php truquesmagicos %281%29
Juliana Nascimento
 
qualidade de código: boas práticas, princípios e padrões
qualidade de código: boas práticas, princípios e padrõesqualidade de código: boas práticas, princípios e padrões
qualidade de código: boas práticas, princípios e padrões
edgarddavidson.com
 

Semelhante a padrao de projeto1 (20)

Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHP
 
Factory apresentacao
Factory   apresentacaoFactory   apresentacao
Factory apresentacao
 
hibernate annotation
hibernate annotationhibernate annotation
hibernate annotation
 
Aplicações web parte 2
Aplicações web parte 2Aplicações web parte 2
Aplicações web parte 2
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
padrao de projeto2
padrao de projeto2padrao de projeto2
padrao de projeto2
 
Padroes de Projeto
Padroes de ProjetoPadroes de Projeto
Padroes de Projeto
 
3260 php truquesmagicos %281%29
3260 php truquesmagicos %281%293260 php truquesmagicos %281%29
3260 php truquesmagicos %281%29
 
3260 php truquesmagicos
3260 php truquesmagicos3260 php truquesmagicos
3260 php truquesmagicos
 
qualidade de código: boas práticas, princípios e padrões
qualidade de código: boas práticas, princípios e padrõesqualidade de código: boas práticas, princípios e padrões
qualidade de código: boas práticas, princípios e padrões
 
Padrão de Projeto - Adapter
Padrão de Projeto - AdapterPadrão de Projeto - Adapter
Padrão de Projeto - Adapter
 
Padrões de design orientado a objetos
Padrões de design orientado a objetosPadrões de design orientado a objetos
Padrões de design orientado a objetos
 
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 3 - 2019.1
 
Patterns
PatternsPatterns
Patterns
 
Premier integration with_logix_pf drives_and_ft_view_pf755_pt
Premier integration with_logix_pf drives_and_ft_view_pf755_ptPremier integration with_logix_pf drives_and_ft_view_pf755_pt
Premier integration with_logix_pf drives_and_ft_view_pf755_pt
 
Cloudformation
CloudformationCloudformation
Cloudformation
 
Apostila Software Arena
Apostila Software ArenaApostila Software Arena
Apostila Software Arena
 
Modularização via BPL - Abordagem Prática para DataSnap & Front-end
Modularização via BPL - Abordagem Prática para DataSnap & Front-endModularização via BPL - Abordagem Prática para DataSnap & Front-end
Modularização via BPL - Abordagem Prática para DataSnap & Front-end
 
Refatoração - aquela caprichada no código
Refatoração - aquela caprichada no códigoRefatoração - aquela caprichada no código
Refatoração - aquela caprichada no código
 
Aula 06 - UML e Padrões de Projeto
Aula 06 - UML e Padrões de ProjetoAula 06 - UML e Padrões de Projeto
Aula 06 - UML e Padrões de Projeto
 

Mais de Walney Negreiros (8)

padrao de projeto0
padrao de projeto0padrao de projeto0
padrao de projeto0
 
Padroes de Projetos e aplicações- parte 02
Padroes de Projetos e aplicações- parte 02Padroes de Projetos e aplicações- parte 02
Padroes de Projetos e aplicações- parte 02
 
Singleton varianca
Singleton variancaSingleton varianca
Singleton varianca
 
Pleonasmo
PleonasmoPleonasmo
Pleonasmo
 
Anafora
AnaforaAnafora
Anafora
 
Ebep alunos-apresenta~çao
Ebep alunos-apresenta~çaoEbep alunos-apresenta~çao
Ebep alunos-apresenta~çao
 
Problemas de hardware e software
Problemas de hardware e softwareProblemas de hardware e software
Problemas de hardware e software
 
INCAS
INCAS INCAS
INCAS
 

Último

ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
azulassessoria9
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
azulassessoria9
 
No processo de aprendizagem motora, a forma como o indivíduo processa as info...
No processo de aprendizagem motora, a forma como o indivíduo processa as info...No processo de aprendizagem motora, a forma como o indivíduo processa as info...
No processo de aprendizagem motora, a forma como o indivíduo processa as info...
azulassessoria9
 

Último (20)

aprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubelaprendizagem significatica, teórico David Ausubel
aprendizagem significatica, teórico David Ausubel
 
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdfMESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
MESTRES DA CULTURA DE ASSARÉ Prof. Francisco Leite.pdf
 
Apresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União EuropeiaApresentação | Símbolos e Valores da União Europeia
Apresentação | Símbolos e Valores da União Europeia
 
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptxSlides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
Slides Lição 06, Central Gospel, O Anticristo, 1Tr24.pptx
 
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
O desenvolvimento é um conceito mais amplo, pode ter um contexto biológico ou...
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 
Caderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdfCaderno de exercícios Revisão para o ENEM (1).pdf
Caderno de exercícios Revisão para o ENEM (1).pdf
 
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 2 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
ATIVIDADE 3 - DESENVOLVIMENTO E APRENDIZAGEM MOTORA - 52_2024
 
Aula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .pptAula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .ppt
 
Missa catequese para o dia da mãe 2025.pdf
Missa catequese para o dia da mãe 2025.pdfMissa catequese para o dia da mãe 2025.pdf
Missa catequese para o dia da mãe 2025.pdf
 
Modelos de Inteligencia Emocional segundo diversos autores
Modelos de Inteligencia Emocional segundo diversos autoresModelos de Inteligencia Emocional segundo diversos autores
Modelos de Inteligencia Emocional segundo diversos autores
 
AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022AULÃO de Língua Portuguesa para o Saepe 2022
AULÃO de Língua Portuguesa para o Saepe 2022
 
Educação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptxEducação Financeira - Cartão de crédito665933.pptx
Educação Financeira - Cartão de crédito665933.pptx
 
Questões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LPQuestões de Língua Portuguesa - gincana da LP
Questões de Língua Portuguesa - gincana da LP
 
No processo de aprendizagem motora, a forma como o indivíduo processa as info...
No processo de aprendizagem motora, a forma como o indivíduo processa as info...No processo de aprendizagem motora, a forma como o indivíduo processa as info...
No processo de aprendizagem motora, a forma como o indivíduo processa as info...
 
Slides Lição 7, CPAD, O Perigo Da Murmuração, 2Tr24.pptx
Slides Lição 7, CPAD, O Perigo Da Murmuração, 2Tr24.pptxSlides Lição 7, CPAD, O Perigo Da Murmuração, 2Tr24.pptx
Slides Lição 7, CPAD, O Perigo Da Murmuração, 2Tr24.pptx
 

padrao de projeto1

  • 1. Lista de controle • Decida se "independência de plataforma" e criação de serviços são a atual fonte de dor. • Mapear uma matriz de "plataformas" versus "produtos". • Definir uma interface de fábrica que consiste em um método de fábrica por produto. • Definir uma classe derivada de fábrica para cada plataforma que encapsula todas as referências ao NovoDefinir uma classe derivada de fábrica para cada plataforma que encapsula todas as referências ao Novo operador. • O cliente deve retirar todas as referências a Novo, e usar os métodos de fábrica para criarO cliente deve retirar todas as referências a Novo, e usar os métodos de fábrica para criarO cliente deve retirar todas as referências a Novo, e usar os métodos de fábrica para criar os objetos de produtos. Regras de ouro Às vezes, padrões de criação são concorrentes: há casos em que seja Prototype ou Abstract Factory poderia ser usado de forma lucrativa. Em outros momentos, eles são complementory: Abstract Factory pode armazenar um conjunto de protótipos de que para clonar e retornar objetos produtos, Builder pode usar um dos outros padrões de implementar que 12 | Abstract Factory
  • 2. Abstract Factory | 13 componentes são construídas. Abstract Factory, Builder, e Prototype pode usar Singleton na sua implementação. Abstract Factory, Builder, e Prototype definir um objeto fábrica que é responsável por conhecer e criar a classe de objetos produtos, e torná-lo um parâmetro do sistema. Abstract Factory tem o objeto fábrica de produção de objetos de várias classes. Builder tem o objeto de fábrica construção de um produto complexo de forma incremental usando um protocolo correspondentemente complexa. Prototype tem o objeto de fábrica (aka protótipo) construção de um produto copiando um objeto de protótipo. aulas Abstract Factory são frequentemente implementadas com métodos de fábrica, mas eles também podem ser implementadas usando Prototype. Abstract Factory pode ser usado como uma alternativa para a fachada para esconder as classes específicas da plataforma. Builder centra-se na construção de uma etapa complexa objeto a passo. Abstract Factory enfatiza uma família de objetos produtos (simples ou complexos). Builder retorna o produto como um passo final, mas, tanto quanto o Abstract Factory está em causa, o produto é retornado imediatamente. Muitas vezes, projeta começar usando Factory Method (menos complicado, mais personalizável, subclasses proliferam) e evoluir em direção Abstract Factory, Prototype, ou Builder (mais flexível, mais complexo) como o designer descobre onde é necessária mais flexibilidade.
  • 3. Adaptador Intenção • Converter a interface de uma classe em outra interface esperada pelos clientes. Adapter permite que classes de trabalhar juntos que não poderia de outro modo, porque de interfaces incompatíveis. • Enrole uma classe existente com uma nova interface. • Impedância de corresponder a um componente antigo para um novo sistema Problema Um "off the shelf" componente oferece funcionalidade convincente que você gostaria de reutilizar, mas a sua "visão do mundo" não é compatível com a filosofia e arquitetura do sistema a ser desenvolvido. Discussão Reutilização sempre foi doloroso e indescritível. Uma das razões foi a tribulação de projetar algo novo, enquanto reutiliza algo velho. Há sempre algo não muito certo entre o velho eo novo. Pode ser dimensões físicas ou desalinhamento. Pode ser de temporização ou de sincronização. Pode ser suposições infelizes ou padrões concorrentes. É como o problema da inserção de uma nova ficha eléctrica de três pinos numa tomada de dois pinos de idade - uma espécie de adaptador ou intermediário é necessário. 14 | Adaptador
  • 4. Adaptador é sobre a criação de uma abstração intermediário que traduz, ou mapas, o antigo componente para o novo sistema. Clientes chamar métodos no objeto adaptador que os redireciona para chamadas para o componente de legado. Esta estratégia pode ser implementada com herança ou com agregação. funções adaptador como um invólucro ou modificador de uma classe existente. Ele fornece um ponto de vista diferente ou traduzido dessa classe. Estrutura Abaixo, um componente do retângulo legado exibição método de espera para receber "x, y, w,Abaixo, um componente do retângulo legado exibição método de espera para receber "x, y, w,Abaixo, um componente do retângulo legado exibição método de espera para receber "x, y, w, h" parâmetros. Mas o cliente quer passar "x superior esquerdo e y" e "inferior x direita e y". Esta incongruência pode ser reconciliado por adição de um nível adicional de falta de - ou seja, um objecto do adaptador. O adaptador também pode ser pensado como um "wrapper". Adapter | 15
  • 5. Exemplo O padrão Adapter permite que classes de outra forma incompatíveis a trabalhar juntos, convertendo a interface de uma classe em uma interface esperada pelos clientes. chaves de caixa proporcionam um exemplo do adaptador. Uma tomada atribui a um roquete, desde que o tamanho da unidade é a mesma. tamanhos de unidade típicos nos Estados Unidos são 1/2" e 1/4" . Obviamente, um 1/2" roquete unidade não irá encaixar-se um 1/4" encaixe de accionamento, a menos que uma placa é usada. Um adaptador de 1/2" a 1/4" tem uma conexão fêmea para se ajustar sobre a 1/2" 1/2" de roquete de accionamento, e uma conexão macho para se ajustar no 1/4" 1/4" encaixe de accionamento. 16 | Adaptador