3
respostas

Arquivo Template do Filtro

Não encontrei no exercício do Filtro o arquivo "Template"?

3 respostas

Não tem um arquivo Template, na verdade os filtros todos herdam e implementam os métodos da classe Filtro. Fiz confusão porque no exercício do vídeo que usou impostos, existia um arquivo TemplateDeImpostoCondicional que depois passou a ser um extends da classe Imposto. Nos impostos Imposto->TemplateDeImposto-><vários impostos> Nos filtros Filtro-><vários filtros>?

Então, mesmo no caso dos impostos, na solução do Decorator, o arquivo Template poderia ser dispensado?

Oi João, tudo bom?

O arquivo TemplateDeImpostosCondicionais é usado no capitulo de template method como uma classe abstrata com objetivo de que toda classe que herde de TemplateDeImpostosCondicionais possa usar o método calcula com as implementações referentes a classe concreta. Nesse caso, a classe Template é obrigatória pois faz parte da implementação do pattern

No caso do decorator, temos uma classe abstrata Imposto, que implementa um template method calculoDoOutroImposto, porém esse é protegido e é utilizado em cadeia nos impostos para calcular valores compostos. Nesse caso, você poderia implementar o decorator sem o template method porém a implementação pode não ser a melhor.

A ideia é que existem diversas formas de implementar um mesmo pattern =)

Abraço