Sobes.tech
Junior — Middle

Come viene implementato il pattern 'Metodo Template' nel framework Spring?

sobes.tech AI

Risposta dell'AI

In Spring, il pattern "Metodo Template" viene implementato tramite classi astratte e hook, dove la classe base definisce l'algoritmo generale e le sottoclassi sovrascrivono singoli passaggi. Ad esempio, nel framework Spring esiste la classe JdbcTemplate, che definisce il modello di lavoro con JDBC: apertura della connessione, esecuzione della query, elaborazione del risultato e chiusura delle risorse. L'utente sovrascrive solo la parte relativa all'elaborazione del risultato (ad esempio, tramite RowMapper).

Esempio di un metodo template semplificato:

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

    protected abstract void stepOne();

    protected void stepTwo() {
        // passaggio comune, può essere sovrascritto
        System.out.println("Passo due di default");
    }

    protected abstract void stepThree();
}

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

    @Override
    protected void stepThree() {
        System.out.println("Passo tre personalizzato");
    }
}

In questo modo, Spring utilizza questo pattern per incapsulare operazioni ripetitive e fornire punti di estensione.