Sobes.tech
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.