Junior — Middle
Kako je implementiran obrazac 'Šablonska metoda' u okviru Spring?
sobes.tech АИ
Одговор од АИ
U Springu, obrazac "Šablonska metoda" implementiran je putem apstraktnih klasa i hook-ova, gde osnovna klasa definiše opšti algoritam, a podklase prepisuju pojedinačne korake. Na primer, u Spring Framework-u postoji klasa JdbcTemplate, koja postavlja šablon rada sa JDBC-jem: otvaranje veze, izvršavanje upita, obrada rezultata i zatvaranje resursa. Korisnik prepisuje samo deo koji je povezan sa obradom rezultata (npr. putem RowMapper).
Primer pojednostavljene šablonske metode:
public abstract class AbstractProcessor {
public void process() {
stepOne();
stepTwo();
stepThree();
}
protected abstract void stepOne();
protected void stepTwo() {
// zajednički korak, može biti prepisan
System.out.println("Podrazumevani korak dva");
}
protected abstract void stepThree();
}
public class ConcreteProcessor extends AbstractProcessor {
@Override
protected void stepOne() {
System.out.println("Prilagođeni korak jedan");
}
@Override
protected void stepThree() {
System.out.println("Prilagođeni korak tri");
}
}
Na ovaj način, Spring koristi ovaj obrazac za enkapsulaciju ponovljenih operacija i pružanje tačaka za proširenje.