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.