Skip to content

Latest commit

 

History

History
27 lines (18 loc) · 1.96 KB

template-method.md

File metadata and controls

27 lines (18 loc) · 1.96 KB

Template Method

Introdução

O padrão Template Method é utilizado para definir o esqueleto de um algoritmo em uma operação, permitindo que subclasses concretas redefinam certos passos do algoritmo sem alterar sua estrutura geral. Ele promove a reutilização de código e a inversão do controle, onde os passos específicos são delegados para as subclasses.

Explicação Teórica

O Template Method é um padrão comportamental que define a estrutura de um algoritmo em uma classe base e delega a implementação de passos específicos para subclasses. Esse padrão permite que a estrutura geral do algoritmo permaneça a mesma, enquanto passos específicos podem ser personalizados por subclasses.

Benefícios:

  • Reutilização de Código: Permite que o código compartilhado seja centralizado na classe base.
  • Consistência: Garante que a estrutura do algoritmo seja consistente, mesmo com diferentes implementações de passos.
  • Flexibilidade: Oferece flexibilidade para que subclasses personalizem partes do algoritmo sem alterar sua estrutura geral.

Exemplo Prático em PHP

Vamos implementar um exemplo usando PHP para demonstrar como o padrão Template Method pode ser aplicado em um sistema de criação de relatórios, onde a estrutura do relatório é fixa, mas as seções de conteúdo podem variar conforme o tipo de relatório.

PHP 7.4

Código-fonte para PHP 7.4

PHP 8.2

Código-fonte para PHP 8.2

Conclusão

O padrão Template Method é ideal para cenários onde você deseja definir a estrutura de um algoritmo e permitir que subclasses específicas personalizem certos passos. Ele promove a reutilização e a consistência, mantendo o controle da estrutura do algoritmo centralizado na classe base.

Interessado em aprender mais? Confira nosso próximo tópico sobre Visitor!