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í.