Não encontrei no exercício do Filtro o arquivo "Template"?
Não encontrei no exercício do Filtro o arquivo "Template"?
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