Junior — Middle
Ako je implementovaný vzor 'Šablónová metóda' v rámci Springu?
sobes.tech AI
Odpoveď od AI
V Springu je vzor "Šablónová metóda" implementovaný pomocou abstraktných tried a hookov, kde základná trieda definuje všeobecný algoritmus a podtriedy prepíšu jednotlivé kroky. Napríklad v Spring Framework existuje trieda JdbcTemplate, ktorá stanoví vzor práce s JDBC: otvorenie spojenia, vykonanie dotazu, spracovanie výsledku a zatvorenie zdrojov. Používateľ prepíše iba časť súvisiacu so spracovaním výsledku (napríklad cez RowMapper).
Príklad zjednodušeného šablónového spôsobu:
public abstract class AbstractProcessor {
public void process() {
stepOne();
stepTwo();
stepThree();
}
protected abstract void stepOne();
protected void stepTwo() {
// spoločný krok, môže byť prepísaný
System.out.println("Predvolený 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 tri");
}
}
Týmto spôsobom Spring používa tento vzor na enkapsuláciu opakujúcich sa operácií a poskytuje body na rozšírenie.