Como Implementar O Padrão de Projeto Prototype em Python

Este artigo tem por finalidade apresentar a definição, uso e melhores práticas do padrão de projeto Prototype em Python, a fim de que possamos saber quando e porque utilizá-lo corretamente.

prototype

Série Design Patterns em Python

Antes de mais nada, eu gostaria de deixar aqui o repositório no github que eu criei com os exemplos dessa série.

Portanto, se por acaso você quiser conferir todo o código que estamos escrevendo neste artigo, basta acessar o link:

O Que É O Padrão de Projeto Prototype?

Prototype Design Pattern UML

A sample UML class and sequence diagram for the Prototype design pattern




O Prototype é um padrão de projeto de criação de objetos, onde para abstrair a complexidade do código durante a criação de um objeto, é realizada uma cópia de um modelo, no lugar de criar um novo objeto.

O nome é bem intuitivo, e ele é implementado exatamente desta maneira. Cria-se um protótipo de um objeto, onde outros objetos serão criados a partir deste molde.

Prototype em Python – O Protótipo

O protótipo é a classe abstrata ou interface que definirá o contrato de como o clone será realizado.

Prototype em Python – O Protótipo Concreto

O protótipo completo é a implementação do objeto que será clonado.




Testando o Prototype

E como podemos ver, basta chamar o clone para termos uma cópia do nosso protótipo:


E o nosso resultado será:

O Prototype Mais Pythonico

Bem, nos outros artigos eu venho mostrando como usar o duck typing para simplificar um pouco a implementação dos padrões em Python.




Dessa vez, o código vai ficar muito, mas muito mais simples. Pois tudo o que precisamos, é utilizar o pacote copy do Python.


Muito mais simples, você não acha?

Conclusão

O padrão de projeto Prototype em Python é tão simples quando utilizar a biblioteca copy.

Este é um belo exemplo de como recursos das linguagens podem dispensar a utilização de um determinado padrão de projeto.

E como eu disse anteriormente, como estamos vendo as implementações dos padrões de projeto em Python, essa vai ser uma constante em nossos artigos. Nós veremos o que ele é, por usar, porém também veremos que não precisaremos dele diretamente quando estivermos trabalhando com Python.

E ai, o que você achou? Ficou alguma dúvida?

Não deixe de comentar com suas críticas e sugestões, e até o próximo artigo.




Leave a Reply