TemplateMethod Flashcards

1
Q

Quando usar o TemplateMethod?

A

Este padrão é aplicável quando se deseja definir um algoritmo geral, que estabelece uma série de passos para cumprir um requisito da aplicação. Porém, seus passos podem variar e é desejável que a estrutura da implementação forneça uma forma para que eles sejam facilmente substituídos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Qual a solução proposta pelo TemplateMethod?

A

Criar uma superclasse abstrata com o template e os hookmethods que serão implementados por uma subclasse

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Qual as consequências positiva de utilizar o TemplateMethod?

A

Podemos reaproveitar o código relativo à parte comum de um algoritmo, permitindo que cada passo variável possa ser definido na subclasse.
Isso também é uma forma de permitir que a funcionalidade da classe que define o
algoritmo básico seja estendida. Assim é possível definir uma funcionalidade mais
geral na qual pode ser facilmente incorporada a parte específica do domínio da aplicação.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Quas as consequências negativas de utilizar o TemplateMethod?

A

A primeira é que a herança “é uma carta que só pode ser jogada uma vez”, isso significa que uma classe que precise de comportamentos de duas outras classes só poderá fazer o uso da herança para uma delas.
Outra questão é que depois que uma implementação for instanciada não será mais possível alterar os passos do algoritmo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly