• Like

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Uploaded on

 

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,503
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
48
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Grupo 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.
  • 9.
    • Diagrama de classe:
  • 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.
  • 14.
    • Saída:
  • 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.
    • 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