SlideShare uma empresa Scribd logo
Grupo GWTEDGrupo GWTED
Davidson S. Marques
Elias Rodrigues de Oliveira
Gabriela Borges Diniz Teixeira
Thiago César Eufrásio da Costa
Walter Freitas de Brito
É um padrão de projeto que permite a criação de objetos a
partir de um modelo original, ou seja, foi criado com o objetivo
de especificar os tipos de objetos a serem criados usando uma
instância-protótipo e criar novos objetos pela cópia desse
protótipo. Efetivamente, cada objeto é um factory especializado
em construir objetos iguais a si mesmo.
-Prototype - uma classe que declara uma interface para objetos capazes de
clonar a si mesmo;
-Prototype concreto - implementação de um prototype;
-Cliente - cria um novo objeto através de um prototype que é capaz de
clonar a si mesmo.
-Exige a implementação de uma operação de clonagem;
-Inconveniente, no caso do reaproveitamento de classes pré-
existentes;
-Complexa, se for considerada a possibilidade de existirem referências
circulares nos atributos de um objeto.
•Classes podem ser definidas em tempo de execução;
•Alternativa simples quando o padrão Abstract Factory se mostrar
complexo, principalmente na questão de hierarquia;
•Conjunto inicial independente das variações.
-Quando um sistema tiver que ser independente de como os seus
produtos são criados, compostos e representados;
-Quando as classes a instanciar forem especificadas em tempo de
execução, por exemplo, por carga dinâmica;
-Para evitar a construção de uma hierarquia de classes de
fábricas paralela à hierarquia de classes de produto;
-Quando as instâncias de uma classe puderem ter uma dentre
poucas combinações diferentes de estados. Pode ser mais
conveniente instalar um número correspondente de protótipos
e cloná-los, ao invés de instanciar a classe manualmente, cada
vez com um estado apropriado.
-Cada subclasse de Prototype deve implementar a operação
clone, o que pode ser difícil. Por exemplo, acrescentar clone é
difícil quando as classes consideradas já existem.
-A implementação de clone pode ser complicada quando uma
estrutura interna da classe inclui objetos que não suportam
operação de cópia ou têm referencias circulares.
Diagrama de classe:
Classe Main – será responsável por fazer as solicitações de clones de
ovelhas.
Classe PrototypeFactory – retorna o clone de objetos quando solicitado pela
classe Main.
Classe Ovelha – é o objeto que está sendo clonado. Ela implementa os
métodos da classe abstrata Animal.
Classe Animal – É uma classe
abstrata que implementa a
interface Cloneable do Java
que possui um método clone
responsável por retornar
clone de objetos quando
implementado corretamente.
Saída:
Prototype assim como os outros Padrões de Projetos podem ser
causadores de confiabilidade, reusabilidade e manutenibilidade de código.
Também podem ser capazes de economizar tempo e custo.
Podemos perceber que as vantagens são maiores que as desvantagens.
http://pt.wikipedia.org/wiki/Prototype
http://www.guj.com.br/content/articles/patterns/prototype_pattern_guj.pdf
http://www.devmedia.com.br/post-4597-Padroes-de-projeto-em--NET--Prototype.html

Mais conteúdo relacionado

Mais procurados

POO - 20 - Wrapper Classes
POO - 20 - Wrapper ClassesPOO - 20 - Wrapper Classes
POO - 20 - Wrapper Classes
Ludimila Monjardim Casagrande
 
Java: Heranca e polimorfismo
Java: Heranca e polimorfismoJava: Heranca e polimorfismo
Java: Heranca e polimorfismo
Arthur Emanuel
 
Padrões de Projeto: Adapter
Padrões de Projeto: AdapterPadrões de Projeto: Adapter
Padrões de Projeto: Adapter
Messias Batista
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
Glaucio Scheibel
 
Arrays em java
Arrays em javaArrays em java
Arrays em java
Portal_do_Estudante_Java
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - Herança
Daniel Brandão
 
Aula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de AtividadeAula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de Atividade
Alberto Simões
 
Tratamento de exceções java
Tratamento de exceções   javaTratamento de exceções   java
Tratamento de exceções java
Antonio Oliveira
 
Classes abstratas e interfaces
Classes abstratas e interfacesClasses abstratas e interfaces
Classes abstratas e interfaces
Nécio de Lima Veras
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
Armando Daniel
 
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosPOO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a Objetos
Ludimila Monjardim Casagrande
 
Exercícios - Herança - Java
Exercícios - Herança - JavaExercícios - Herança - Java
Exercícios - Herança - Java
Arthur Emanuel
 
As vantagens e desvantagens da aplicação de padrões de projeto
As vantagens e desvantagens da aplicação de padrões de projetoAs vantagens e desvantagens da aplicação de padrões de projeto
As vantagens e desvantagens da aplicação de padrões de projeto
Gabriel Galdino
 
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Gustavo Zimmermann
 
Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projeto
ejdn1
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
Pedro De Almeida
 
POO - 11 - Prática de Herança
POO - 11 - Prática de HerançaPOO - 11 - Prática de Herança
POO - 11 - Prática de Herança
Ludimila Monjardim Casagrande
 
Curso de Java: Introdução a lambda e Streams
Curso de Java: Introdução a lambda e StreamsCurso de Java: Introdução a lambda e Streams
Curso de Java: Introdução a lambda e Streams
Helder da Rocha
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
Sérgio Souza Costa
 
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
Gustavo Zimmermann
 

Mais procurados (20)

POO - 20 - Wrapper Classes
POO - 20 - Wrapper ClassesPOO - 20 - Wrapper Classes
POO - 20 - Wrapper Classes
 
Java: Heranca e polimorfismo
Java: Heranca e polimorfismoJava: Heranca e polimorfismo
Java: Heranca e polimorfismo
 
Padrões de Projeto: Adapter
Padrões de Projeto: AdapterPadrões de Projeto: Adapter
Padrões de Projeto: Adapter
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Arrays em java
Arrays em javaArrays em java
Arrays em java
 
Programação Orientação a Objetos - Herança
Programação Orientação a Objetos - HerançaProgramação Orientação a Objetos - Herança
Programação Orientação a Objetos - Herança
 
Aula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de AtividadeAula 03 - Introdução aos Diagramas de Atividade
Aula 03 - Introdução aos Diagramas de Atividade
 
Tratamento de exceções java
Tratamento de exceções   javaTratamento de exceções   java
Tratamento de exceções java
 
Classes abstratas e interfaces
Classes abstratas e interfacesClasses abstratas e interfaces
Classes abstratas e interfaces
 
Java orientação a objetos (associacao, composicao, agregacao)
Java   orientação a objetos (associacao, composicao, agregacao)Java   orientação a objetos (associacao, composicao, agregacao)
Java orientação a objetos (associacao, composicao, agregacao)
 
POO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a ObjetosPOO - 01 - Introdução ao Paradigma Orientado a Objetos
POO - 01 - Introdução ao Paradigma Orientado a Objetos
 
Exercícios - Herança - Java
Exercícios - Herança - JavaExercícios - Herança - Java
Exercícios - Herança - Java
 
As vantagens e desvantagens da aplicação de padrões de projeto
As vantagens e desvantagens da aplicação de padrões de projetoAs vantagens e desvantagens da aplicação de padrões de projeto
As vantagens e desvantagens da aplicação de padrões de projeto
 
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
 
Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projeto
 
Classes e Objectos JAVA
Classes e Objectos JAVAClasses e Objectos JAVA
Classes e Objectos JAVA
 
POO - 11 - Prática de Herança
POO - 11 - Prática de HerançaPOO - 11 - Prática de Herança
POO - 11 - Prática de Herança
 
Curso de Java: Introdução a lambda e Streams
Curso de Java: Introdução a lambda e StreamsCurso de Java: Introdução a lambda e Streams
Curso de Java: Introdução a lambda e Streams
 
Paradigmas de programação
Paradigmas de programaçãoParadigmas de programação
Paradigmas de programação
 
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
Banco de Dados II: Aspectos de Segurança em Banco de Dados (aula 13)
 

Semelhante a Prototype

Prototype1 - thiago
Prototype1 - thiagoPrototype1 - thiago
Prototype1 - thiago
tceufrasio1
 
Patterns
PatternsPatterns
Patterns
gersaoliveira
 
Padroes de Projeto
Padroes de ProjetoPadroes de Projeto
Padroes de Projeto
Cezar Vinícius
 
Padrão de Projetos singleton
Padrão de Projetos singletonPadrão de Projetos singleton
Padrão de Projetos singleton
Wendel Moreira
 
Java7
Java7Java7
03 fundamentos java
03 fundamentos java03 fundamentos java
03 fundamentos java
Raytssa Martins
 
padrao de projeto3
padrao de projeto3padrao de projeto3
padrao de projeto3
Walney Negreiros
 
java_avancado.pdf
java_avancado.pdfjava_avancado.pdf
java_avancado.pdf
GersonZavala2
 
Poo
PooPoo
3- POO
3- POO3- POO
3- POO
Frank Coelho
 
padrao de projeto0
padrao de projeto0padrao de projeto0
padrao de projeto0
Walney Negreiros
 
padrao de projeto1
padrao de projeto1padrao de projeto1
padrao de projeto1
Walney Negreiros
 
Padrões-10 - Padrões Criacionais - Singleton
Padrões-10 - Padrões Criacionais - SingletonPadrões-10 - Padrões Criacionais - Singleton
Padrões-10 - Padrões Criacionais - Singleton
Eduardo Nicola F. Zagari
 
Refatorações
RefatoraçõesRefatorações
Refatorações
Altamir Benkenstein
 
Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1
Saulo Arruda
 
Abstract
AbstractAbstract
Abstract
Alan Oliveira
 
Estudos Technocorp
Estudos TechnocorpEstudos Technocorp
Estudos Technocorp
ThiagoFortes8
 
Mapeamento de herança OR
Mapeamento de herança ORMapeamento de herança OR
Mapeamento de herança OR
Nécio de Lima Veras
 
Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)
Ryan Padilha
 
Gof design patterns
Gof design patternsGof design patterns
Gof design patterns
Eduardo Carvalho
 

Semelhante a Prototype (20)

Prototype1 - thiago
Prototype1 - thiagoPrototype1 - thiago
Prototype1 - thiago
 
Patterns
PatternsPatterns
Patterns
 
Padroes de Projeto
Padroes de ProjetoPadroes de Projeto
Padroes de Projeto
 
Padrão de Projetos singleton
Padrão de Projetos singletonPadrão de Projetos singleton
Padrão de Projetos singleton
 
Java7
Java7Java7
Java7
 
03 fundamentos java
03 fundamentos java03 fundamentos java
03 fundamentos java
 
padrao de projeto3
padrao de projeto3padrao de projeto3
padrao de projeto3
 
java_avancado.pdf
java_avancado.pdfjava_avancado.pdf
java_avancado.pdf
 
Poo
PooPoo
Poo
 
3- POO
3- POO3- POO
3- POO
 
padrao de projeto0
padrao de projeto0padrao de projeto0
padrao de projeto0
 
padrao de projeto1
padrao de projeto1padrao de projeto1
padrao de projeto1
 
Padrões-10 - Padrões Criacionais - Singleton
Padrões-10 - Padrões Criacionais - SingletonPadrões-10 - Padrões Criacionais - Singleton
Padrões-10 - Padrões Criacionais - Singleton
 
Refatorações
RefatoraçõesRefatorações
Refatorações
 
Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1
 
Abstract
AbstractAbstract
Abstract
 
Estudos Technocorp
Estudos TechnocorpEstudos Technocorp
Estudos Technocorp
 
Mapeamento de herança OR
Mapeamento de herança ORMapeamento de herança OR
Mapeamento de herança OR
 
Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)Orientação a Objetos no Delphi - Por onde começar (I)
Orientação a Objetos no Delphi - Por onde começar (I)
 
Gof design patterns
Gof design patternsGof design patterns
Gof design patterns
 

Último

CADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdf
CADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdfCADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdf
CADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdf
NatySousa3
 
Estrutura Pedagógica - Laboratório de Educação a Distância.ppt
Estrutura Pedagógica - Laboratório de Educação a Distância.pptEstrutura Pedagógica - Laboratório de Educação a Distância.ppt
Estrutura Pedagógica - Laboratório de Educação a Distância.ppt
livrosjovert
 
BULLYING NÃO É AMOR.pdf LIVRO PARA TRABALHAR COM ALUNOS ATRAVÉS DE PROJETOS...
BULLYING NÃO É AMOR.pdf LIVRO PARA TRABALHAR COM ALUNOS ATRAVÉS DE PROJETOS...BULLYING NÃO É AMOR.pdf LIVRO PARA TRABALHAR COM ALUNOS ATRAVÉS DE PROJETOS...
BULLYING NÃO É AMOR.pdf LIVRO PARA TRABALHAR COM ALUNOS ATRAVÉS DE PROJETOS...
Escola Municipal Jesus Cristo
 
Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)
Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)
Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)
Centro Jacques Delors
 
Fernão Lopes. pptx
Fernão Lopes.                       pptxFernão Lopes.                       pptx
Fernão Lopes. pptx
TomasSousa7
 
iNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdf
iNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdfiNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdf
iNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdf
andressacastro36
 
Sinais de pontuação
Sinais de pontuaçãoSinais de pontuação
Sinais de pontuação
Mary Alvarenga
 
Leonardo da Vinci .pptx
Leonardo da Vinci                  .pptxLeonardo da Vinci                  .pptx
Leonardo da Vinci .pptx
TomasSousa7
 
Sócrates e os sofistas - apresentação de slides
Sócrates e os sofistas - apresentação de slidesSócrates e os sofistas - apresentação de slides
Sócrates e os sofistas - apresentação de slides
jbellas2
 
Apresentação_Primeira_Guerra_Mundial 9 ANO-1.pptx
Apresentação_Primeira_Guerra_Mundial 9 ANO-1.pptxApresentação_Primeira_Guerra_Mundial 9 ANO-1.pptx
Apresentação_Primeira_Guerra_Mundial 9 ANO-1.pptx
JulianeMelo17
 
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdf
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdfCaderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdf
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdf
enpfilosofiaufu
 
Atividade letra da música - Espalhe Amor, Anavitória.
Atividade letra da música - Espalhe  Amor, Anavitória.Atividade letra da música - Espalhe  Amor, Anavitória.
Atividade letra da música - Espalhe Amor, Anavitória.
Mary Alvarenga
 
O que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdfO que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdf
Pastor Robson Colaço
 
socialização faculdade uniasselvi 2024 matea
socialização faculdade uniasselvi 2024 mateasocialização faculdade uniasselvi 2024 matea
socialização faculdade uniasselvi 2024 matea
ILDISONRAFAELBARBOSA
 
“A classe operária vai ao paraíso os modos de produzir e trabalhar ao longo ...
“A classe operária vai ao paraíso  os modos de produzir e trabalhar ao longo ...“A classe operária vai ao paraíso  os modos de produzir e trabalhar ao longo ...
“A classe operária vai ao paraíso os modos de produzir e trabalhar ao longo ...
AdrianoMontagna1
 
Caderno de Formação_PORTUGUÊS ESTRAN.pdf
Caderno de Formação_PORTUGUÊS ESTRAN.pdfCaderno de Formação_PORTUGUÊS ESTRAN.pdf
Caderno de Formação_PORTUGUÊS ESTRAN.pdf
carlaslr1
 
livro ciclo da agua educação infantil.pdf
livro ciclo da agua educação infantil.pdflivro ciclo da agua educação infantil.pdf
livro ciclo da agua educação infantil.pdf
cmeioctaciliabetesch
 
Aula 1 do livro de Ciências do aluno - sons
Aula 1 do livro de Ciências do aluno - sonsAula 1 do livro de Ciências do aluno - sons
Aula 1 do livro de Ciências do aluno - sons
Érika Rufo
 
A dinâmica da população mundial de acordo com as teorias populacionais.pptx
A dinâmica da população mundial de acordo com as teorias populacionais.pptxA dinâmica da população mundial de acordo com as teorias populacionais.pptx
A dinâmica da população mundial de acordo com as teorias populacionais.pptx
ReinaldoSouza57
 
UFCD_5420_Integração de sistemas de informação - conceitos_índice.pdf
UFCD_5420_Integração de sistemas de informação - conceitos_índice.pdfUFCD_5420_Integração de sistemas de informação - conceitos_índice.pdf
UFCD_5420_Integração de sistemas de informação - conceitos_índice.pdf
Manuais Formação
 

Último (20)

CADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdf
CADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdfCADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdf
CADERNO DE CONCEITOS E ORIENTAÇÕES DO CENSO ESCOLAR 2024.pdf
 
Estrutura Pedagógica - Laboratório de Educação a Distância.ppt
Estrutura Pedagógica - Laboratório de Educação a Distância.pptEstrutura Pedagógica - Laboratório de Educação a Distância.ppt
Estrutura Pedagógica - Laboratório de Educação a Distância.ppt
 
BULLYING NÃO É AMOR.pdf LIVRO PARA TRABALHAR COM ALUNOS ATRAVÉS DE PROJETOS...
BULLYING NÃO É AMOR.pdf LIVRO PARA TRABALHAR COM ALUNOS ATRAVÉS DE PROJETOS...BULLYING NÃO É AMOR.pdf LIVRO PARA TRABALHAR COM ALUNOS ATRAVÉS DE PROJETOS...
BULLYING NÃO É AMOR.pdf LIVRO PARA TRABALHAR COM ALUNOS ATRAVÉS DE PROJETOS...
 
Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)
Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)
Folheto | Centro de Informação Europeia Jacques Delors (junho/2024)
 
Fernão Lopes. pptx
Fernão Lopes.                       pptxFernão Lopes.                       pptx
Fernão Lopes. pptx
 
iNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdf
iNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdfiNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdf
iNTRODUÇÃO À Plantas terrestres e Plantas aquáticas. (1).pdf
 
Sinais de pontuação
Sinais de pontuaçãoSinais de pontuação
Sinais de pontuação
 
Leonardo da Vinci .pptx
Leonardo da Vinci                  .pptxLeonardo da Vinci                  .pptx
Leonardo da Vinci .pptx
 
Sócrates e os sofistas - apresentação de slides
Sócrates e os sofistas - apresentação de slidesSócrates e os sofistas - apresentação de slides
Sócrates e os sofistas - apresentação de slides
 
Apresentação_Primeira_Guerra_Mundial 9 ANO-1.pptx
Apresentação_Primeira_Guerra_Mundial 9 ANO-1.pptxApresentação_Primeira_Guerra_Mundial 9 ANO-1.pptx
Apresentação_Primeira_Guerra_Mundial 9 ANO-1.pptx
 
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdf
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdfCaderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdf
Caderno de Resumos XVIII ENPFil UFU, IX EPGFil UFU E VII EPFEM.pdf
 
Atividade letra da música - Espalhe Amor, Anavitória.
Atividade letra da música - Espalhe  Amor, Anavitória.Atividade letra da música - Espalhe  Amor, Anavitória.
Atividade letra da música - Espalhe Amor, Anavitória.
 
O que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdfO que é um Ménage a Trois Contemporâneo .pdf
O que é um Ménage a Trois Contemporâneo .pdf
 
socialização faculdade uniasselvi 2024 matea
socialização faculdade uniasselvi 2024 mateasocialização faculdade uniasselvi 2024 matea
socialização faculdade uniasselvi 2024 matea
 
“A classe operária vai ao paraíso os modos de produzir e trabalhar ao longo ...
“A classe operária vai ao paraíso  os modos de produzir e trabalhar ao longo ...“A classe operária vai ao paraíso  os modos de produzir e trabalhar ao longo ...
“A classe operária vai ao paraíso os modos de produzir e trabalhar ao longo ...
 
Caderno de Formação_PORTUGUÊS ESTRAN.pdf
Caderno de Formação_PORTUGUÊS ESTRAN.pdfCaderno de Formação_PORTUGUÊS ESTRAN.pdf
Caderno de Formação_PORTUGUÊS ESTRAN.pdf
 
livro ciclo da agua educação infantil.pdf
livro ciclo da agua educação infantil.pdflivro ciclo da agua educação infantil.pdf
livro ciclo da agua educação infantil.pdf
 
Aula 1 do livro de Ciências do aluno - sons
Aula 1 do livro de Ciências do aluno - sonsAula 1 do livro de Ciências do aluno - sons
Aula 1 do livro de Ciências do aluno - sons
 
A dinâmica da população mundial de acordo com as teorias populacionais.pptx
A dinâmica da população mundial de acordo com as teorias populacionais.pptxA dinâmica da população mundial de acordo com as teorias populacionais.pptx
A dinâmica da população mundial de acordo com as teorias populacionais.pptx
 
UFCD_5420_Integração de sistemas de informação - conceitos_índice.pdf
UFCD_5420_Integração de sistemas de informação - conceitos_índice.pdfUFCD_5420_Integração de sistemas de informação - conceitos_índice.pdf
UFCD_5420_Integração de sistemas de informação - conceitos_índice.pdf
 

Prototype

  • 1. Grupo GWTEDGrupo GWTED Davidson S. Marques Elias Rodrigues de Oliveira Gabriela Borges Diniz Teixeira Thiago César Eufrásio da Costa Walter Freitas de Brito
  • 2. É um padrão de projeto que permite a criação de objetos a partir de um modelo original, ou seja, foi criado com o objetivo de especificar os tipos de objetos a serem criados usando uma instância-protótipo e criar novos objetos pela cópia desse protótipo. Efetivamente, cada objeto é um factory especializado em construir objetos iguais a si mesmo.
  • 3. -Prototype - uma classe que declara uma interface para objetos capazes de clonar a si mesmo; -Prototype concreto - implementação de um prototype; -Cliente - cria um novo objeto através de um prototype que é capaz de clonar a si mesmo.
  • 4. -Exige a implementação de uma operação de clonagem; -Inconveniente, no caso do reaproveitamento de classes pré- existentes; -Complexa, se for considerada a possibilidade de existirem referências circulares nos atributos de um objeto.
  • 5. •Classes podem ser definidas em tempo de execução; •Alternativa simples quando o padrão Abstract Factory se mostrar complexo, principalmente na questão de hierarquia; •Conjunto inicial independente das variações.
  • 6. -Quando um sistema tiver que ser independente de como os seus produtos são criados, compostos e representados; -Quando as classes a instanciar forem especificadas em tempo de execução, por exemplo, por carga dinâmica;
  • 7. -Para evitar a construção de uma hierarquia de classes de fábricas paralela à hierarquia de classes de produto; -Quando as instâncias de uma classe puderem ter uma dentre poucas combinações diferentes de estados. Pode ser mais conveniente instalar um número correspondente de protótipos e cloná-los, ao invés de instanciar a classe manualmente, cada vez com um estado apropriado.
  • 8. -Cada subclasse de Prototype deve implementar a operação clone, o que pode ser difícil. Por exemplo, acrescentar clone é difícil quando as classes consideradas já existem. -A implementação de clone pode ser complicada quando uma estrutura interna da classe inclui objetos que não suportam operação de cópia ou têm referencias circulares.
  • 10. Classe Main – será responsável por fazer as solicitações de clones de ovelhas.
  • 11. Classe PrototypeFactory – retorna o clone de objetos quando solicitado pela classe Main.
  • 12. Classe Ovelha – é o objeto que está sendo clonado. Ela implementa os métodos da classe abstrata Animal.
  • 13. Classe Animal – É uma classe abstrata que implementa a interface Cloneable do Java que possui um método clone responsável por retornar clone de objetos quando implementado corretamente.
  • 15. Prototype assim como os outros Padrões de Projetos podem ser causadores de confiabilidade, reusabilidade e manutenibilidade de código. Também podem ser capazes de economizar tempo e custo. Podemos perceber que as vantagens são maiores que as desvantagens.