domingo, 4 de julho de 2010

Template (GoF - Comportamental)

O que é?
É quando temos uma classe abstrata que define um esqueleto de códigos para uma operação, permitindo que suas sub classes alterem seus métodos ( caso haja necessidade ) ou, permaneçam com o valor da super classe.

Caso de uso:
Quando temos várias classes com comportamentos em comum. Evitando duplicidade de códigos.

Quando queremos que a super classe implemente partes que não variam de um algoritimo, deixando o restante com a sub classe.

Estrutura:












Vantagens:
  • Pode-se reaproveitar o código de métodos da super classe, utilizando o comando super.métodoDaSuperClasse();
  • Utilizando este reaproveitamento de código podemos poupar tempo do desenvolvedor, não precisando reescrever o mesmo método diversas vezes.

Desvantagens:
  • Pode aumentar o acoplamento.
    Template impossibilita herdar qualquer outra classe, pois o cliente é obrigado a herdar sempre o template. Para contornarmos isso, necessitaríamos empilhar heranças, o que pode gerar acoplamento.

Nenhum comentário:

Postar um comentário

DÚVIDAS - CRITICAS - SUGESTÕES