Sobes.tech
Junior — Middle

Como é implementado o padrão 'Método Template' no framework Spring?

sobes.tech IA

Resposta da IA

No Spring, o padrão "Método Template" é implementado através de classes abstratas e hooks, onde a classe base define o algoritmo geral e as subclasses sobrescrevem passos específicos. Por exemplo, no Spring Framework, existe a classe JdbcTemplate, que define o padrão de trabalho com JDBC: abrir a conexão, executar a consulta, processar o resultado e fechar os recursos. O utilizador apenas sobrescreve a parte relacionada com o processamento do resultado (por exemplo, através de RowMapper).

Exemplo de um método template simplificado:

public abstract class AbstractProcessor {
    public void process() {
        stepOne();
        stepTwo();
        stepThree();
    }

    protected abstract void stepOne();

    protected void stepTwo() {
        // passo comum, pode ser sobrescrito
        System.out.println("Passo dois padrão");
    }

    protected abstract void stepThree();
}

public class ConcreteProcessor extends AbstractProcessor {
    @Override
    protected void stepOne() {
        System.out.println("Passo um personalizado");
    }

    @Override
    protected void stepThree() {
        System.out.println("Passo três personalizado");
    }
}

Desta forma, o Spring usa este padrão para encapsular operações repetitivas e fornecer pontos de extensão.