Sobes.tech
Junior — Middle

Kā tiek īstenots 'Šablona metode' modelis Spring ietvarā?

sobes.tech AI

Atbilde no AI

Springā šablona "Šablona metode" tiek īstenota, izmantojot abstraktās klases un hook'us, kur bāzes klase definē kopējo algoritmu, bet apakšklases pārdefinē atsevišķus soļus. Piemēram, Spring Framework ir klase JdbcTemplate, kas nosaka darbu ar JDBC: savienojuma atvēršanu, vaicājuma izpildi, rezultāta apstrādi un resursu aizvēršanu. Lietotājs pārdefinē tikai rezultāta apstrādes daļu (piemēram, ar RowMapper).

Vienkāršots šablona metodes piemērs:

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

    protected abstract void stepOne();

    protected void stepTwo() {
        // kopīgs solis, var tikt pārdefinēts
        System.out.println("Standarta otrais solis");
    }

    protected abstract void stepThree();
}

public class ConcreteProcessor extends AbstractProcessor {
    @Override
    protected void stepOne() {
        System.out.println("Pielāgots pirmais solis");
    }

    @Override
    protected void stepThree() {
        System.out.println("Pielāgots trešais solis");
    }
}

Tādējādi Spring izmanto šo modeli, lai inkapsulētu atkārtojošās operācijas un nodrošinātu paplašināšanas punktus.