Junior — Middle
Kaip įgyvendintas 'Šablono metodas' modelis Spring karkase?
sobes.tech AI
Atsakymas iš AI
Springe šabloninė metodas yra įgyvendinamas per abstrakčias klases ir hook'us, kur bazinė klasė apibrėžia bendrą algoritmą, o pogrupiai perrašinėja atskirus žingsnius. Pavyzdžiui, Spring Framework yra klasė JdbcTemplate, kuri nustato darbą su JDBC: ryšio atidarymą, užklausos vykdymą, rezultatų apdorojimą ir išteklių uždarymą. Vartotojas tik perrašo rezultatų apdorojimo dalį (pvz., per RowMapper).
Supaprastintas šabloninio metodo pavyzdys:
public abstract class AbstractProcessor {
public void process() {
stepOne();
stepTwo();
stepThree();
}
protected abstract void stepOne();
protected void stepTwo() {
// bendras žingsnis, gali būti perrašytas
System.out.println("Numatytasis žingsnis du");
}
protected abstract void stepThree();
}
public class ConcreteProcessor extends AbstractProcessor {
@Override
protected void stepOne() {
System.out.println("Priderintas žingsnis vienas");
}
@Override
protected void stepThree() {
System.out.println("Priderintas žingsnis trys");
}
}
Taip, Spring naudoja šį šabloną, kad inkapsuliuotų pasikartojančias operacijas ir suteiktų plėtros taškus.