Tags: , | Categories: Padrões de Projeto Posted by Rafael on 12/05/2011 02:07 | Comentários (1)

Olá pessoal!

Hoje vamos falar um pouco sobre um padrão de criação bem simples, o padrão Prototype. Esse padrão tem como objetivo criar um "clone", ou seja, uma cópia, de um determinado objeto. Segue abaixo a definição do nosso livro base:

"Especificar os tipos de objetos a serem criados usando uma instância-protótipo e criar novos objetos pela cópia desse protótipo." [GAMMA, 2009].

Um dos diversos cenários que podemos aplicar o padrão Prototype é quando necessitamos guardar o estado de um objeto, em determinados pontos de execução de um processamento, por exemplo. Na maioria das vezes, é mais interessante criarmos "clones", ou cópias, de um objeto em determinado momento, do que criar a instância manualmente.

A estrutura do padrão Prototype é a seguinte:

Estrutura do Padrão Prototype

O padrão Prototype pode ser implementado em conjunto com os padrões AbstractFactory, Composite e Decorator. Estudaremos em breve sobre os dois últimos padrões citados.

No código de exemplo, criaremos uma classe abstrata chamada Ave que implementa a interface ICloneable, e uma classe concreta Calopsita que herda de Ave. O projeto completo pode ser baixado aqui: Prototype.zip (20,74 kb)

Segue o código implementado junto com a classe de teste:

Classe Ave.cs

Classe Calopsita.cs

Classe Teste

O resultado:

Resultado

Repare que o nome dos dois objetos é o mesmo, porém o código hash é diferente, ou seja, são objetos do mesmo tipo e com as mesmas características, porém, são objetos distintos.

Esse é o padrão Prototype, muito simples e fácil de entender e utilizar.

Até a próxima!

 

 

Referência Bibliográfica

GAMMA, Erich, Padrões de Projeto, Porto Alegre: Bookman, 2009.

Comentários

absolutleygolden.com on 21/03/2014 13:27 Pingback from absolutleygolden.com

Baseball Superstars 2013 Hack
Os comentários estão fechados