Sobes.tech
Junior — Middle

Jak je implementován vzor 'Šablonová metoda' ve frameworku Spring?

sobes.tech AI

Odpověď od AI

V Springu je vzor "Šablonová metoda" implementován pomocí abstraktních tříd a hooků, kde základní třída definuje obecný algoritmus a podtřídy přepisují jednotlivé kroky. Například ve Spring Framework existuje třída JdbcTemplate, která stanoví vzor práce s JDBC: otevření spojení, provedení dotazu, zpracování výsledku a uzavření zdrojů. Uživatel přepisuje pouze část související se zpracováním výsledku (například přes RowMapper).

Příklad zjednodušené šablonové metody:

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

    protected abstract void stepOne();

    protected void stepTwo() {
        // společný krok, může být přepsán
        System.out.println("Výchozí krok dva");
    }

    protected abstract void stepThree();
}

public class ConcreteProcessor extends AbstractProcessor {
    @Override
    protected void stepOne() {
        System.out.println("Vlastní krok jedna");
    }

    @Override
    protected void stepThree() {
        System.out.println("Vlastní krok tři");
    }
}

Tímto způsobem Spring používá tento vzor k enkapsulaci opakujících se operací a poskytuje body pro rozšíření.