quarta-feira, 8 de setembro de 2010

Prototype (GoF - de criação)

O que é?
É um padrão que serve para criarmos uma cópia de um objeto, podendo especificar-se quais atributos queremos clonar.

Estrutura:


Problema:
Criar instâncias de uma determinada classe é custoso / demorado.

Contexto:
Criar um novo automóvel, com diversos atributos, funcionalidades e passos para ser construído.

Solução:
Definir uma instância protótipo e cloná-la de acordo com a necessidade. Dessa forma, teremos um automóvel modelo, e a partir deste, criaremos novos automóveis.

Vantagens:
  • Ganho de performance, pois você estará criando um objeto com um estado já definido.

  • Ao definir quais atributos serão copiados, você poderá garantir que certos atributos não sejam conhecidos ou modificados.

Desvantagens:
  • Mudanças no código podem se tornar um tanto quanto complexos.

  • Quando estamos clonando algum objeto complexo, precisamos tomar cuidado com qual objeto estamos lidando, pois se o objeto possuir alguma conexão, por exemplo, não será interessante termos dois objetos sabendo como executar essa conexão.

Nenhum comentário:

Postar um comentário

DÚVIDAS - CRITICAS - SUGESTÕES