Grupo GWTEDDavidson S. MarquesElias Rodrigues de OliveiraGabriela Borges Diniz TeixeiraThiago César Eufrásio da CostaWalte...
É um padrão de projeto que permite a criação de objetos a partir de ummodelo original, ou seja, foi criado com o objetivo ...
O padrão Prototype contém os seguintes elementos:• Prototype - uma classe que declara uma interface para objetos capazes  ...
O padrão Prototype exige a implementação de uma operação de clonagemem cada uma das classes concretas do protótipo. Esta t...
O padrão Prototype pode ser utilizado em sistemas que precisam serindependentes da forma como os seus componentes sãocriad...
Use o padrão Prototype quando um sistema tiver que ser independente decomo os seus produtos são criados, compostos e repre...
Cada subclasse de Prototype deve implementar a operação clone, o quepode ser difícil. Por exemplo, acrescentar clone é dif...
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 pelaclasse Main.
Classe Ovelha – é o objeto que está sendo clonado. Ela implementa osmétodos da classe abstrata Animal.
Classe Animal – É uma classeabstrata que implementa ainterface Cloneable do Javaque possui um método cloneresponsável por ...
Saída:
Prototype assim como os outros Padrões de Projetos podem sercausadores de confiabilidade, reusabilidade e manutenibilidade...
http://pt.wikipedia.org/wiki/Prototypehttp://www.guj.com.br/content/articles/patterns/prototype_pattern_guj.pdfhttp://www....
Upcoming SlideShare
Loading in...5
×

Prototype1 - thiago

263

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
263
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Prototype1 - thiago

  1. 1. Grupo GWTEDDavidson S. MarquesElias Rodrigues de OliveiraGabriela Borges Diniz TeixeiraThiago César Eufrásio da CostaWalter Freitas de Brito
  2. 2. É um padrão de projeto que permite a criação de objetos a partir de ummodelo original, ou seja, foi criado com o objetivo de especificar os tiposde objetos a serem criados usando uma instância-protótipo e criar novosobjetos pela cópia desse protótipo. Efetivamente, cada objeto é um factoryespecializado em construir objetos iguais a si mesmo.
  3. 3. O padrão Prototype contém os seguintes elementos:• 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. O padrão Prototype exige a implementação de uma operação de clonagemem cada uma das classes concretas do protótipo. Esta tarefa pode serinconveniente, no caso do reaproveitamento de classes pré-existentes quenão possuem tal operação, ou mesmo complexa, se for considerada apossibilidade de existirem referências circulares nos atributos de umobjeto (um objeto possui um atributo que referência um objeto que, porsua vez, referência o objeto original).
  5. 5. O padrão Prototype pode ser utilizado em sistemas que precisam serindependentes da forma como os seus componentes sãocriados, compostos e representados. O padrão Prototype pode ser útil emsistemas com as seguintes características:• Sistemas que utilizam classes definidas em tempo de execução;• Sistemas que utilizam o padrão Abstract Factory para criação de objetos. Neste caso, a hierarquia de classes pode se tornar muito complexa e o padrão Prototype pode ser uma alternativa mais simples, por realizar a mesma tarefa com um número reduzido de classes;• Sistemas que possuem componentes cujo estado inicial possui poucas variações e onde é conveniente disponibilizar um conjunto pré-estabelecido de protótipos que dão origem aos objetos que compõem o sistema.
  6. 6. Use o padrão Prototype quando um sistema tiver que ser independente decomo os seus produtos são criados, compostos e representados e:Quando as classes a instanciar forem especificadas em tempo deexecuçã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 poucascombinações diferentes de estados. Pode ser mais conveniente instalar umnúmero correspondente de protótipos e cloná-los, ao invés de instanciar aclasse manualmente, cada vez com um estado apropriado.
  7. 7. Cada subclasse de Prototype deve implementar a operação clone, o quepode ser difícil. Por exemplo, acrescentar clone é difícil quando as classesconsideradas já existem. A implementação de clone pode ser complicadaquando uma estrutura interna da classe inclui objetos que não suportamoperação de cópia ou têm referencias circulares.
  8. 8. Diagrama de classe:
  9. 9. Classe Main – será responsável por fazer as solicitações de clones de ovelhas..
  10. 10. Classe PrototypeFactory – retorna o clone de objetos quando solicitado pelaclasse Main.
  11. 11. Classe Ovelha – é o objeto que está sendo clonado. Ela implementa osmétodos da classe abstrata Animal.
  12. 12. Classe Animal – É uma classeabstrata que implementa ainterface Cloneable do Javaque possui um método cloneresponsável por retornarclone de objetos quandoimplementado corretamente.
  13. 13. Saída:
  14. 14. Prototype assim como os outros Padrões de Projetos podem sercausadores 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.
  15. 15. http://pt.wikipedia.org/wiki/Prototypehttp://www.guj.com.br/content/articles/patterns/prototype_pattern_guj.pdfhttp://www.devmedia.com.br/post-4597-Padroes-de-projeto-em--NET--Prototype.html
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×