Prototype

3.045 visualizações

Publicada em

Publicada em: Educação
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
3.045
No SlideShare
0
A partir de incorporações
0
Número de incorporações
4
Ações
Compartilhamentos
0
Downloads
110
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Prototype

  1. 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. 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. 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. 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. 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. 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. 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. 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.
  9. 9. Diagrama de classe:
  10. 10. Classe Main – será responsável por fazer as solicitações de clones de ovelhas.
  11. 11. Classe PrototypeFactory – retorna o clone de objetos quando solicitado pela classe Main.
  12. 12. Classe Ovelha – é o objeto que está sendo clonado. Ela implementa os métodos da classe abstrata Animal.
  13. 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.
  14. 14. Saída:
  15. 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.
  16. 16. 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

×