Patterns: Template Method
O pattern fatcory method nos auxilia principalmente, quando temos uma sequência de tarefas ou um algoritmo, com passos que precisam ser implementados. Veremos o quanto este pattern poder ser útil para este tipo de tarefa.
Veja que os métodos CalculaPesoPacote e CalculaFrete são abstratos, ou seja, são as classes concretas que irão definir a implementação. Existe ainda, um que é chamado método gancho que é o método CalculaDesconto, que é opcional, as classes filhas o definem como quiser, como por exemplo o cálculo do desconto pode variar, por exemplo, de acordo com a época do ano ou dia do mês por exemplo.
Apenas para ilustrar o que foi dito até aqui, o código acima, mostra uma classe concreta em que nela serão definidos todos os detalhes para implementação do algoritmo definido na classe base. O que se nota também é que os passos do algoritmo podem ser definidos de várias formas, mas o template method, que é o que contém o algoritmo não; dentro dele estão todos os passos que não poderão mudar. Segue a definição do padrão:
“Define um esqueleto de algoritmo em um método, delegando alguns passos a sub-classes. O método permite que algumas subclasses redefinam alguns passos de um algoritmo sem mudar a estrutura do algoritmo.”
Bom pessoal ficamos por aqui, e espero que tenha contribuido com o crescimento profissional de cada um de vocês. Os patterns são muito úteis, os vejo, como ferramentas para melhorar nosso código e mantê-lo fácil de corrigir, alterar e dar manutenção. Evoluir é preciso e as boa práticas nos ajudam a evoluir. Abraços e até a próxima.Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo